安裝:
ftp安裝部分,操作步驟如下:
可以使用yum命令直接安裝ftp
# yum install vsftpd
ftp服務的開啟與關閉命令:
開啟:# service vsftpd start
關閉:# service vsftpd stop
安裝成功后,可以在本地使用ftp軟件連接,默認賬號是虛擬機的賬號和密碼。
目的:在linux系統上建立ftp用戶,並限制其通過ftp訪問時,只能訪問用戶主目錄;其主目錄顯示路徑也是“/”,看不到上級目錄。
例子:建立用戶test,密碼為123456,主目錄為/home/ftp/test
首先,在linux系統建立用戶test:
1、以ftp用戶登陸系統,建立test用戶的主目錄/home/ftp/test,輸入命令:mkdir /home/ftp/test
2、以root用戶登錄系統,建立帶有主目錄的用戶,輸入命令:[root@- home]# useradd -d /home/ftp/test test
3、為用戶分配密碼,輸入命令:
[root@- etc]# passwd test
New UNIX password:123456
Retype new UNIX password:123456
passwd: all authentication tokens updated successfully.
此時查看:[root@- etc]# cat /etc/passwd
可看到用戶配置是這樣的:test:x:504:504::/home/ftp/test:/bin/bash
系統為用戶分配了新的用戶id和組id:504、504。由於該用戶的所有文件需對ftp用戶開放訪問權限,我們可以將test分配到ftp組(組id500)。
為用戶分配新的用戶組,輸入命令:[root@- home]# usermod -g ftp test
此時查看:[root@- etc]# cat /etc/passwd
可看到用戶配置是這樣的:test:x:504:500::/home/ftp/test:/bin/bash
4、然后,配置用戶ftp權限及訪問路徑限制:
此時用test登陸系統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
所以需要把用戶test加入到/etc/vsftpd/user_list文件中,每個用戶一行。
由於該主目錄是ftp用戶建的,test是ftp組的成員,所以test默認具有增刪查改權限;而test作為ftp組成員,對/home/ftp下的所有路徑具有訪問權限(根據各目錄的權限設置,默認是這樣),登錄ftp后會發現,test用戶可以訪問其他目錄,並且具有ftp組的權限,這樣做是不允許的,我們需要將test用戶的訪問范圍控制在其主目錄下。方法如下:
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文件,加入你要限制的用戶名test,一行一個用戶
4.如果提示沒有可寫權限,則在vsftpd.conf文件中加入
allow_writeable_chroot=YES
如果更新了vsftpd.conf,一定要重啟ftp,命令如下:
[root@linuxsir001 root]# /etc/init.d/vsftpd restart或service vsftpd restart
再用test通過ftp訪問系統,用戶成功登陸,並且成功的被限制在自己的主目錄下,無法訪問其他目錄了。