1、安裝FTP服務(wù)
sudo apt-get install vsftpd
安裝完成會(huì)自動(dòng)生成目錄srv目錄和home在同一層級(jí),可以通過以下命令訪問
cd /srv/ftp/
nautilus ./
2、修改配置,支持匿名訪問
sudo vi /etc/vsftpd.conf
在打開的文件末尾增加以下內(nèi)容
#啟用匿名用戶
anonymous_enable=YES
#匿名用戶無密碼
no_anon_password=YES
#限定匿名用戶目錄
anon_root=/home/xxx/ftp
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
3、重啟FTP服務(wù)器,使配置生效
sudo /etc/init.d/vsftpd restart
4、其它命令
#啟動(dòng)ftp服務(wù)器
sudo /etc/init.d/vsftpd start
#停止ftp服務(wù)器
sudo /etc/init.d/vsftpd stop
5、ftp連接
本機(jī)連接
ftp 127.0.0.1
其它電腦連接
ftp ip
Connected to 127.0.0.1.
220 (vsFTPd 3.0.3)
Name (127.0.0.1:xxx):
輸入用戶名:anonymous 或 ftp
回車
進(jìn)入ftp根目錄,可以愉快的玩耍了
6、錯(cuò)誤修復(fù)
Connected to 127.0.0.1.
220 (vsFTPd 3.0.3)
Name (127.0.0.1:starry): anonymous
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Login failed.
421 Service not available, remote server has closed connection
從2.3.5之后,vsftpd增強(qiáng)了安全檢查,如果用戶被限定在了其主目錄下,則該用戶的主目錄不能再具有寫權(quán)限了!如果檢查發(fā)現(xiàn)還有寫權(quán)限,就會(huì)報(bào)該錯(cuò)誤。
要修復(fù)這個(gè)錯(cuò)誤,可以用命令去除被限定目錄的的寫權(quán)限
chmod 755 /home/xxx/ftp
或者去掉/etc/vsftpd.conf配置文件中的限定目錄,如下注釋掉匿名用戶的限定目錄,則匿名用戶登錄后會(huì)在/srv/ftp/目錄下
#anon_root=/home/xxx/ftp
配置本地用戶
1、新建本地用戶
#創(chuàng)建用戶
sudo useradd zhangsan -m
#設(shè)置密碼
sudo passwd zhangsan
2、修改配置
打開/etc/vsftpd.conf,在文件末尾追加以下內(nèi)容
local_enable=YES
write_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
3、配置本地用戶文件夾權(quán)限
chmod a-w /home/zhangsan
如果不設(shè)置以上權(quán)限,會(huì)報(bào)vsftpd: refusing to run with writable root inside chroot(),拒絕在根目錄可寫。
4、重啟FTP服務(wù)器,使配置生效
sudo /etc/init.d/vsftpd restart
5、設(shè)置FTP目錄,并設(shè)置可讀寫權(quán)限
cd /home/zhangsan
sudo mkdir ftpData
sudo chmod 777 ftpData
注:因配置本地用戶文件夾權(quán)限時(shí),將/home/zhangsan目錄寫權(quán)限去掉了,所以使用zhangsan用戶訪問ftp時(shí)無法直接在/home/zhangsan目錄下上傳文件,所以在/home/zhangsan目錄下新建一個(gè)文件夾,并設(shè)置可讀寫權(quán)限,上傳文件在新建的文件夾下操作即可
配置可切換根目錄
打開/etc/vsftpd.conf,追加以下內(nèi)容
chroot_list_file=/etc/vsftpd.chroot_list
在/etc/vsftpd.chroot_list文件中添加想要配置的用戶名,例如zhangsan,重啟FTP服務(wù)器
參考:
https://blog.csdn.net/bluishglc/article/details/42398811
https://blog.51cto.com/4610383/1428704