案例:在一個企業網絡當中模擬架設一個ftp
準備工作:(佔的空間比較大)
新增一塊虛擬硬盤:分區——》格式化——》掛載 (/mnt/ftppart)
要求:
掛載點必須掛載到公共目錄 /mnt/ftppart/public 所有人的權限 ro(只能讀不能上傳)
每個用戶都有個人目錄/mnt/ftppart/home/ 大小爲10M
用戶的下載速度:匿名用戶是100k/s 本地用戶是1M/s
同時在線的用戶最多不能超過20個
每個用戶的連接數不能超過2個
步驟:
創建一個分區:
[root@localhost ~]# fdisk –l 查看標識
[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 –h 查看掛載信息
文件系統 容量 已用 可用 已用% 掛載點
/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 – 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 –D 查看新增用戶默認所在的位置
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@localhost home]# useradd -D –b /mnt/ftppart/home 更改新增用戶的位置
[root@localhost home]# useradd –D 查看
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 – 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 –c
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上的文件不可以上傳和新建文件
用本地用戶登錄
可以上傳和新建修改文件