1、 安裝vsftpd組件
安裝命令:[root@ink4t ~]# sudo apt-get install vsftpd
安裝完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件。
2、 添加一個ftp用戶
此用戶就是用來登錄ftp服務器用的。
1 | [root@ink4t ~] # useradd ftpuser |
這樣一個用戶建完,可以用這個登錄,記得用普通登錄不要用匿名了。登錄后默認的路徑為 /home/ftpuser
3、 給ftp用戶添加密碼
1 | [root@ink4t ~] # passwd ftpuser |
輸入兩次密碼后修改密碼。
4、 防火墻開啟21端口
因為ftp默認的端口為21,而centos默認是沒有開啟的,所以要修改iptables文件
1 | [root@ink4t ~] # vi /etc/sysconfig/iptables |
在行上面有22 -j ACCEPT 下面另起一行輸入跟那行差不多的,只是把22換成21,然后:wq保存。
還要運行下,重啟iptables
1 | [root@ink4t ~] # service iptables restart |
5、 修改配置文件vsftpd.conf
允許匿名用戶訪問,并且對匿名用戶的目錄進行限制,限制到/home/ftpuser
1 | anonymous_enable=YES |
2 | anon_root=/home/ftpuser |
這里特別說明,/home/ftp目錄,不能有w權限,這是一個只讀的目錄,否者會報錯。修改權限可以使用
1 | sudo chmod a-w /home/ftpuser |
本地用戶能夠訪問,且擁有寫的權限
1 | local_enable=YES |
2 | write_enable=YES |
本地用戶登錄后限制在自己的主目錄下,同時通過文件/etc/vsftpd.chroot_list來指定不用限制目錄的用戶(比如我們的user1不用限制目錄,所以要在該文件下寫上user1),同時允許用戶對自己的主目錄進行修改。
1 | chroot_local_user=YES |
2 | chroot_list_enable=YES |
3 | chroot_list_file=/etc/vsftpd.chroot_list |
4 | allow_writeable_chroot=YES |
啟用用戶列表,不在列表中的用戶禁止登陸(所以我們要在etc/allowed_users中寫上user1,user2,anonymous,ftp,其中最后兩個都表示匿名登錄)
1 | user_list_enable=YES |
2 | user_list_deny=NO |
3 | userlist_file=/etc/allowed_users |
這個是經驗項,配置了據說可以避免一些錯誤,參考文獻中有介紹。
1 | seccomp_sandbox=NO |
到此,還注意到,里面涉及到了兩個文件,一個是/etc/vsftpd.chroot_list,一個是/etc/allowed_users,我們保存了之后需要自己手動創建這兩個文件,
1 | sudo touch /etc/vsftpd.chroot_list |
2 | sudo touch /etc/allowed_users |
然后在/etc/vsftpd.chroot_list中的用戶不被限制目錄,這個例子中我們要寫入user1,/etc/allowed_users中要寫入允許訪問服務器的用戶,這里就是user1,user2,還有匿名用戶anonymous,ftpuser,注意寫的時候每行只寫一個用戶名。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。