目的是:在linux系統上建立ftp使用者,並限制其通過ftp訪問時,只能訪問使用者主目錄;其主目錄顯示路徑也是“/”,看不到上級目錄。 例如,我要建立使用者usertest,密碼為usertest,主目錄為/home/mpsp/ftp/usertest作業系統:Red Hat Enterprise Linux Server release 5.4 (Tikanga)ftp:vsftp
首先,建立linux系統使用者usertest:1、以mpsp使用者登陸系統,建立usertest的主目錄/home/mpsp/ftp/usertest2、以root使用者登入linux系統,建立帶有主目錄的使用者,輸入命令: [root@- home]# useradd -d /home/mpsp/ftp/usertest usertest 3、 為使用者指派密碼,輸入命令: [root@- etc]# passwd usertest Changing password for user usertest. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. 此時查看:[root@- etc]# cat /etc/passwd
可看到使用者配置是這樣的:usertest:x:504:504::/home/mpsp/ftp/usertest:/bin/bash系統為使用者指派了新的使用者id和組id:504、504。由於該使用者的所有檔案需對mpsp使用者開放存取權限,我們可以將usertest分配到mpsp組(組id500)。 4、為使用者指派新的使用者組,輸入命令: [root@- home]# usermod -g mpsp usertest 此時查看:[root@- etc]# cat /etc/passwd可看到使用者配置是這樣的:usertest:x:504:500::/home/mpsp/ftp/usertest:/bin/bash
然後,配置使用者ftp許可權及訪問路徑限制:此時用usertest登陸系統ftp,是否可以訪問?如果無法訪問,說明我們的ftp做了限制。開啟/etc/vsftpd/vsftpd.conf,尋找userlist_enable、userlist_deny、userlist_file。如果userlist_deny=NO:只允許userlist_file檔案中的使用者可訪問ftp;如果userlist_deny=YES:userlist_file檔案中列舉的使用者不能通過ftp訪問系統。userlist_enable是該功能的開關。我們的系統配置如下: userlist_enable=YES userlist_deny=NO userlist_file=/etc/vsftpd/user_list 所以需要把使用者加入到/etc/vsftpd/user_list檔案中,每個使用者一行。 由於該主目錄是mpsp使用者建的,usertest是mpsp組的成員,所以usertest預設具有增刪查改許可權;而usertest作為mpsp群組成員,對/home/mpsp下的所有路徑具有存取權限(根據各目錄的使用權限設定,預設是這樣),登入ftp後會發現,usertest使用者可以訪問其他目錄,並且具有mpsp組的許可權,這樣做是不允許的,我們需要將usertest使用者的存取範圍控制在其主目錄下。方法如下: 1. cd /etc/vsftpd 進入ftp設定檔目錄 2. vi vsftpd.conf編輯此檔案,找到#chroot_list_enable=YES,刪除前面的那個#號,表示開啟此限制功能 找到chroot_list_file:chroot_list_file=/etc/vsftpd/chroot_list 3. 編輯chroot_list檔案,加入你要限制的使用者名稱,一行一個使用者. 如果更新了vsftpd.conf,一定要重啟ftp,命令如下: [root@linuxsir001 root]# /etc/init.d/vsftpd restart 關閉 vsftpd: [ 確定 ] 為 vsftpd 啟動 vsftpd: [ 確定 ] 再用usertest通過ftp訪問系統,使用者成功登陸,並且成功的被限制在自己的主目錄下,無法訪問其他目錄。大功告成。