案例:在一个企业网络当中模拟架设一个ftp
准备工作:(占的空间比较大)
新增一块虚拟硬盘:分区――》格式化――》挂载 (/mnt/ftppart)
要求:
挂载点必须挂载到公共目录 /mnt/ftppart/public 所有人的权限 ro(只能读不能上传)
每个用户都有个人目录/mnt/ftppart/home/ 大小为10M
用户的下载速度:匿名用户是100k/s 本地用户是1M/s
同时在线的用户最多不能超过20个
每个用户的连接数不能超过2个
步骤:
创建一个分区:
[root@localhost ~]# fdisk �Cl 查看标识
[root@localhost ~]# fdisk /dev/sdb 制作分区
格式化分区:
[root@localhost ~]# partprobe /dev/sdb 内核重新读取分区表
[root@localhost ~]# mkfs -t ext3 /dev/sdb1 格式化
创建目录进行挂载:
[root@localhost ~]# mkdir /mnt/ftppart 建立挂载目录
[root@localhost ~]# mount /dev/sdb1 /mnt/ftppart/ 挂载
[root@localhost ~]# df �Ch 查看挂载信息
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 9.7G 6.6G 2.6G 72% /
/dev/sda1 99M 12M 83M 12% /boot
tmpfs 252M 0 252M 0% /dev/shm
/dev/hdc 2.8G 2.8G 0 100% /media/RHEL_5.4 i386 DVD
/dev/sdb1 50G 180M 47G 1% /mnt/ftppart
在光盘上建立挂载点进行挂载:
[root@localhost ~]# mkdir /mnt/cdrom 建立挂载目录
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/ 挂载
[root@localhost ~]# cd /mnt/cdrom/Server/ 切换到光盘上
在光盘上做安装vsftpd:
[root@localhost Server]# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm:
[root@localhost Server]# cd /mnt/ftppart/ 切换到分区目录
[root@localhost ftppart]# ll
总计 16
drwx------ 2 root root 16384 03-21 13:24 lost+found
[root@localhost ftppart]# mkdir public 新建公共目录
[root@localhost ftppart]# ll 查看
总计 20
drwx------ 2 root root 16384 03-21 13:24 lost+found
drwxr-xr-x 2 root root 4096 03-21 13:53 public
[root@localhost ftppart]# cd public/ 切换到公共目录
[root@localhost public]# touch p1 p2 建立2个文本文档
[root@localhost public]# useradd user1 新增用户user1
[root@localhost public]# useradd user2 新增用户user2
[root@localhost public]# echo "123" |passwd --stdin user1 赋予user1口令
Changing password for user user1.
passwd: all authentication tokens updated successfully.
[root@localhost public]# echo "123" |passwd --stdin user2 赋予user2口令
Changing password for user user2.
passwd: all authentication tokens updated successfully.
[root@localhost public]# ll /home/ 查看用户
总计 16
drwx------ 3 dengsilin dengsilin 4096 02-08 16:30 dengsilin
drwx------ 3 user1 user1 4096 03-20 09:27 user1
drwx------ 4 user2 user2 4096 03-21 13:54 user2
[root@localhost public]# grep user /etc/passwd 搜索查看用户所在的家目录文件rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
oprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologin
sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin
user1:x:501:501::/home/user1:/bin/bash
user2:x:502:502::/home/user2:/bin/bash
编辑修改用户所在的家目录文件
[root@localhost public]# vim /etc/passwd
[root@localhost public]# cd /mnt/ftppart/ 切换到分区目录
[root@localhost ftppart]# mkdir home 建立目录
[root@localhost ftppart]# ll 查看
总计 24
drwxr-xr-x 2 root root 4096 03-21 14:02 home
drwx------ 2 root root 16384 03-21 13:24 lost+found
drwxr-xr-x 2 root root 4096 03-21 14:03 public
把老的家目录用户移动到新的家目录下
[root@localhost ftppart]# cd /home/
[root@localhost home]# mv * /mnt/ftppart/home/
[root@localhost home]# su �C user1 切换用户登陆
[user1@localhost ~]$ pwd 查看所在的位置
/mnt/ftppart/home/user1
[user1@localhost ~]$ exit 退出
如果再新增用户,用户所在的目录还是原先的位置:
[root@localhost home]# useradd user3 新增用户user3
[root@localhost home]# grep user /etc/passwd 查看用户所在的家目录文件
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
oprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologin
sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin
user1:x:501:501::/mnt/ftppart/home/user1:/bin/bash
user2:x:502:502::/mnt/ftppart/home/user2:/bin/bash
user3:x:503:503::/home/user3:/bin/bash
如果想要新增用户,使用户所在的目录在新建的家目录下需要做修改默认的useradd变量:
[root@localhost home]# useradd �CD 查看新增用户默认所在的位置
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@localhost home]# useradd -D �Cb /mnt/ftppart/home 更改新增用户的位置
[root@localhost home]# useradd �CD 查看
GROUP=100
HOME=/mnt/ftppart/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@localhost home]# userdel -r user3 删除用户user3
[root@localhost home]# useradd user3 新增用户user3
[root@localhost home]# grep user /etc/passwd 查看用户所在的家目录文件
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
oprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologin
sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin
user1:x:501:501::/mnt/ftppart/home/user1:/bin/bash
user2:x:502:502::/mnt/ftppart/home/user2:/bin/bash
user3:x:503:503::/mnt/ftppart/home/user3:/bin/bash
[root@localhost home]# su �C user3 用用户user3登陆
[user3@localhost ~]$ pwd 查看位置
/mnt/ftppart/home/user3
[user3@localhost ~]$ exit 退出
logout
要想控制用户个人目录的空间大小必须进行磁盘配额(针对分区)
[root@localhost home]# vim /etc/fstab
[root@localhost home]# mount 先查看挂载
/dev/sda3 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
/dev/hdc on /media/RHEL_5.4 i386 DVD type iso9660 (ro,noexec,nosuid,nodev,uid=0)
/dev/sdb1 on /mnt/ftppart type ext3 (rw)
/dev/hdc on /mnt/cdrom type iso9660 (ro)
[root@localhost home]# mount -o remount /dev/sdb1 从新挂载一下[root@localhost home]# mount 再次的查看挂载
/dev/sda3 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
/dev/hdc on /media/RHEL_5.4 i386 DVD type iso9660 (ro,noexec,nosuid,nodev,uid=0)
/dev/sdb1 on /mnt/ftppart type ext3 (rw,usrquota)
/dev/hdc on /mnt/cdrom type iso9660 (ro)
产生所有用户配置文件:
[root@localhost home]# cd /mnt/ftppart/
[root@localhost ftppart]# ll
总计 24
drwxr-xr-x 6 root root 4096 03-21 15:00 home
drwx------ 2 root root 16384 03-21 13:24 lost+found
drwxr-xr-x 2 root root 4096 03-21 14:03 public
[root@localhost ftppart]# quotacheck -augv �Cc
quotacheck: Scanning /dev/sdb1 [/mnt/ftppart] quotacheck: Cannot stat old user quota file
quotacheck: Old group file not found. Usage will not be substracted.
done
quotacheck: Checked 25 directories and 24 files
quotacheck: Old file not found.
[root@localhost ftppart]# ll
总计 32
-rw------- 1 root root 7168 03-21 15:34 aquota.user
drwxr-xr-x 6 root root 4096 03-21 15:00 home
drwx------ 2 root root 16384 03-21 13:24 lost+found
drwxr-xr-x 2 root root 4096 03-21 14:03 public
编辑用户的配置文件:
[root@localhost ftppart]# edquota -u user1
[root@localhost ftppart]# edquota -p user1 user2 复制user1到user2
[root@localhost ftppart]# edquota -p user1 user3 复制user1到user3
[root@localhost ftppart]# edquota -u user2 查看user2
[root@localhost ftppart]# quotaon /dev/sdb1 启动磁盘配额功能
把启动磁盘配置功能编辑到开机脚本中
[root@localhost ftppart]# echo "quotaon /dev/sdb1" >>/etc/rc.d/rc.local
[root@localhost ftppart]# vim /etc/rc.d/rc.local
改变匿名账号的家目录和编辑实验要求
[root@localhost ftppart]# cd /var/ftp/
[root@localhost ftp]# pwd
/var/ftp
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf
[root@localhost ftp]# service vsftpd restart
关闭 vsftpd: [确定]
为 vsftpd 启动 vsftpd: [确定]
测试
用windows匿名打开访问ftp://192.168.101.200
匿名登录ftp只可以下载ftp上的文件不可以上传和新建文件
用本地用户登录
可以上传和新建修改文件