好了,廢話不多說。上頭下來個需求,讓我給別人開個ftp賬戶,只能訪問項目的目錄,不能訪問項目外的目錄,就算cd切換目錄也不行。
開始:
第一步;安裝ftp,我用的是centos7,只需敲入命令
yum install vsftpd
chkconfig vsftpd on #設置開機啟動
第二步配置 vsftpd.conf
做這一步,先備份好配置 cp vsftpd.conf vsftpd.conf_bak,然后修改下面3行代碼,將注釋去掉
為了防止報錯,在文末加一行
allow_writeable_chroot=YES
如果不加上面一行,會出現如下截圖:
然后再新建chroot_list文件。
實現方法是有2種思路的;
第一種:
chroot_local_user=YES #設置是否鎖定本地用戶在自己的主目錄中,(登錄后無法cd到父目錄或同級目錄中)
chroot_list_enable=YES #設置是否將用戶鎖定在自己的主目錄中
chroot_list_file=/etc/vsftpd/chroot_list #定義哪些用戶將會鎖定在自己的主目錄中
解釋:chroot_local_user=YES將所有用戶限定在主目錄內,chroot_list_enable=YES表示要啟用chroot_list_file, 因為chroot_local_user=YES,即全體用戶都被“限定在主目錄內”,所以總是作為“例外列表”的chroot_list_file這時列出的是那些“不會被限制在主目錄下”的用戶。
第二種:
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
解釋:chroot_local_user=NO則所有用戶不被限定在主目錄內,chroot_list_enable=YES表示要啟用chroot_list_file, 因為chroot_local_user=NO,即全體用戶都“不被限定在主目錄內”,所以總是作為“例外列表”的chroot_list_file這時列出的是那些“會被限制在主目錄下”的用戶。
配置好后
重啟vsftp : service vsftpd restart #重啟vsftpd
第三步:
useradd -d /home/www -m /home/www 用戶 ##-d 目錄 指定用戶主目錄,如果此目錄不存在,則同時使用-m選項,可以創建主目錄
passwd 用戶 #修改用戶名
最后:
chown -R ftp用戶名:root 項目目錄
我的是: chown -R test:root /home/ftptest/
我們來測試一下:
還可以這樣測試
當然你也可以在瀏覽器輸入ftp://XXXXXX
至此,大功搞成!