SFTP服務器,給屬於不同部門的用戶,劃分不同的用戶目錄,且設置不同權限,並設置磁盤限額。

案例說明
1、新建一分區,10G空間,ext3 文件系統,掛在到 /ftp下,作爲 ftp服務器數據存放地方。

2、四個部門:dep1,dep2, dep3, dep4,分別對應目錄 /ftp/dep1,/ftp/dep2,/ftp/dep3,/ftp/dep4。另外設定一個公共目錄 /ftp/public。

3、五個用戶:admin,user1,user2,user3,user4。其中:user 1/2/3/4分別對應部門dep 1/2/3/4,他們只能訪問自己所屬部門的目錄和public目錄。如:user1只能訪問dep1和public目錄,不能訪問其它目錄。admin爲管理員用戶,可以訪問 ftp 服務器上的任何目錄。

4、用戶訪問權限限制:user1/2/3/4在所能訪問的目錄,具有上傳文件、下載文件的功能,但是不能夠刪除文件、更改文件權限等功能。admin管理員用戶對所有目錄具有文件上傳、下載、刪除、權限更改等功能。

5、對每個部門定製一個 quota,設置該賬戶的文件配額爲1000個;磁盤配額爲2G。

6、匿名用戶不能訪問。

第一、增加一塊硬盤,然後分區,把分區掛載情況寫入/etc/fstab

)# fdisk /dev/hdb
)# mkfs.ext3 /dev/hdb1
)# mkidr /ftp
)# mount /dev/hdb1 /ftp -o usrquota,grpquota (這倆參數的意思是啓動用戶限額,啓動用戶組限額)
)# vim /etc/fstab
加入下面一句
/dev/hdb1 /ftp ext3 defaults,usrquota,grpquota 0 0
第二、建立用戶組和用戶和相應的文件夾並更改權限,達到題目要求
)# groupadd dep1
)# groupadd dep2
)# groupadd dep3
)# groupadd dep4
)# groupadd boobooke
)# useradd -G dep1,boobooke user1
)# useradd -G dep2,boobooke user2
)# useradd -G dep3,boobooke user3
)# useradd -G dep4,boobooke user4
)# useradd -G dep1,dep2,dep3,dep4,boobooke admin
)# passwd user1
)# passwd user2
)# passwd user3
)# passwd user4
)# echo “123456” |passwd --stdin admin
)# mkdir /ftp/dep1
)# mkdir /ftp/dep2
)# mkdir /ftp/dep3
)# mkdir /ftp/dep4
)# mkdir /ftp/public
)# chown user1:dep1 /ftp/dep1
)# chown user2:dep2 /ftp/dep2
)# chown user3:dep3 /ftp/dep3
)# chown user4:dep4 /ftp/dep4
)# chown admin:boobooke /ftp/public
)# chmod 770 /ftp/dep1
)# chmod 770 /ftp/dep2
)# chmod 770 /ftp/dep3
)# chmod 770 /ftp/dep4
)# chmod 770 /ftp/pubic
最終結果如下
-rw——- 1 root root 8192 Jul 26 11:46 aquota.group
-rw——- 1 root root 7168 Jul 26 11:46 aquota.user
drwxrwx— 2 user1 dep1 4096 Jul 25 20:47 dep1
drwxrwx— 2 user2 dep2 4096 Jul 25 20:47 dep2
drwxrwx— 2 user3 dep3 4096 Jul 25 20:47 dep3
drwxrwx— 2 user4 dep4 4096 Jul 25 20:47 dep4
drwx—— 2 root root 16384 Jul 25 20:44 lost+found
drwxrwx— 2 admin boobooke 4096 Jul 25 20:48 public
第三、創建quota,配置磁盤配額
Linux quotacheck命令用於檢查磁盤的使用空間與限制。
執行quotacheck指令,掃描掛入系統的分區,並在各分區的文件系統根目錄下產生quota.user和quota.group文件,設置用戶和羣組的磁盤空間限制。

-a 掃描在/etc/fstab文件裏,有加入quota設置的分區。
-d 詳細顯示指令執行過程,便於排錯或瞭解程序執行的情形。
-g 掃描磁盤空間時,計算每個羣組識別碼所佔用的目錄和文件數目。
-R 排除根目錄所在的分區。
-u 掃描磁盤空間時,計算每個用戶識別碼所佔用的目錄和文件數目。
-v 顯示指令執行過程。
mount /dev/hdb1 /ftp -o usrquota,grpquota

)# quotacheck -cuvg /dev/sdb1
)# quotaon -a
)# edquota -g dep1
Disk quotas for group dep1 (gid 503):
Filesystem blocks soft hard inodes soft hard
/dev/hdb1 0 1024000 2048000 0 500 1000
)# edquota -g -p dep1 dep2 dep3 dep4
(-u -g將源用戶組和羣組的quota設置套用至其他用戶或羣組。)

第四、編輯VSFTPD.CONF
)# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
加入
local_root=/ftp
user_config_dir=/etc/vsftpd/ftp_config_dir
開啓chroot
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

第五、建立用戶的獨立文件
)# mkdir /etc/vsftpd/ftp_config_dir
)# vim /etc/vsftpd/ftp_config_dir/user1
cmds_allowed=ABOR,ACCT,APPE,CWD,CDUP,HELP,LIST,MODE,MDTM,NOOP,NLST,PASS,PASV,PORT,PWD,QUIT,REIN,RETR,SITE,SIZE,STOR,STAT,STOU,STRU,SYST,TYPE,USER

)# cp /etc/vsftpd/ftp_config_dir/user1 /etc/vsftpd/ftp_config_dir/user2
)# cp /etc/vsftpd/ftp_config_dir/user1 /etc/vsftpd/ftp_config_dir/user3
)# cp /etc/vsftpd/ftp_config_dir/user1 /etc/vsftpd/ftp_config_dir/user4

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章