Linux建立FTP伺服器,新增使用者,設定使用者獨立目錄的過程及遇到的問題
1、查詢linux伺服器是否已經安裝過vsftpd服務;
rpm -qa|grep vsftpd
解除安裝已經安裝服務命令:rpm -e vsftpd
2、未安裝,安裝vsftpd服務;
執行:yum install vsftpd -y 線上安裝vsftpd服務
3、安裝成功後,修改配置檔案;
使用命令:vim /etc/vsftpd/vsftpd.conf
找到:anonymous_enable引數將值設定為NO【關閉匿名登陸功能】
chroot_list_enable=YES 【限制訪問自身目錄】
chroot_list_file=/etc/vsftpd/chroot_filelist【編輯chroot_filelist檔案,將受限制的使用者新增進去,每行一個使用者,新增進去的使用者為步驟4中新增的使用者
】
修改完成後啟動vsftpd服務:systemctl start vsftpd
4、新增使用者
root使用者登陸後:
useradd -d /data02/resource firewolf 【增加使用者firewolf,並指定test使用者的主目錄為/data02/resource】
passwd firewolf 【為firewolf使用者設定密碼】
usermod -s /sbin/nologin firewolf 【限定使用者firewolf只能ftp登陸】
5、本機命令列登陸嘗試
ftp 192.168.21.165
輸入使用者名稱和密碼後報錯:vsftpd:500 OOPS vsftpd:refusing to run with writable root inside chroot()
這是因為從2.3.5之後,vsftpd增加了安全檢查,如果使用者被限定在了其主目錄下,則該使用者的主目錄不能再具有寫許可權了!如果檢查發現還有寫許可權,就會報錯。
要修復這個錯誤,可以用命令chmod a-w /data02/resource去除使用者主目錄的寫許可權,或者在vsftpd配置檔案中增加一行:
allow_writeable_chroot=YES