轉載:http://zyjustin9.iteye.com/blog/2178943
一.安裝
1.用apt-get工具安裝vsftpd:
- $ sudo apt-get install vsftpd
2.檢查FTP端口是否已經打開
- $ netstat -tnl
或者直接在瀏覽器里輸入“ftp://服務器IP”
開啟、停止、重啟vsftpd服務的命令:
- service vsftpd start | stop | restart
二.配置
1.修改配置文件
- $ sudo vi /etc/vsftpd.conf
主要配置:
- listen=YES # 服務器監聽
- local_enable=YES # 是否允許本地用戶訪問
- write_enable=YES # 是否允許上傳文件,不開啟會報 550 permission denied
- anonymous_enable=NO # 匿名訪問允許,默認不要開啟,
- #anon_upload_enable=YES # 匿名上傳允許,默認是NO
- #anon_mkdir_write_enable=YES # 匿名創建文件夾允許
用戶訪問目錄的權限設置:
在默認配置下,本地用戶登入FTP后可以使用cd命令切換到其他目錄,這樣會對系統帶來安全隱患。可以通過以下三條配置文件來控制用戶切換目錄。
- chroot_local_user=YES # 用於指定用戶列表文件中的用戶是否允許切換到上級目錄。默認值為NO。
- chroot_list_enable=YES # 設置是否啟用chroot_list_file配置項指定的用戶列表文件。默認值為NO。
- chroot_list_file=/etc/vsftpd.chroot_list
- #禁用的列表名單,格式為一行一個用戶,用於指定用戶列表文件,該文件用於控制哪些用戶可以切換到用戶家目錄的上級目錄。
通過搭配能實現以下幾種效果:
- (1).當chroot_list_enable=YES,chroot_local_user=YES時,在/etc/vsftpd.chroot_list文件中列出的用戶,可以切換到其他目錄;未在文件中列出的用戶,不能切換到其他目錄。
- (2).當chroot_list_enable=YES,chroot_local_user=NO時,在/etc/vsftpd.chroot_list文件中列出的用戶,不能切換到其他目錄;未在文件中列出的用戶,可以切換到其他目錄。
- (3).當chroot_list_enable=NO,chroot_local_user=YES時,所有的用戶均不能切換到其他目錄。
- (4).當chroot_list_enable=NO,chroot_local_user=NO時,所有的用戶均可以切換到其他目錄。
其他配置解釋:
- local_umask=022 # FTP上本地的文件權限,默認是077
- dirmessage_enable=YES # 進入文件夾允許
- xferlog_enable=YES # ftp 日志記錄允許
- connect_from_port_20=YES # 啟用20號端口作為數據傳送的端口
- xferlog_enable=yes # 激活上傳和下傳的日志
- xferlog_std_format=yes # 使用標准的日志格式
- ftpd_banner=XXXXX # 歡迎信息
相關鏈接:
vsftpd配置文件詳解
2.重啟vsftpd服務
- $sudo /etc/init.d/vsftpd restart
- 或者
- $ sudo service vsftpd restart
注:修改配置文件后一定要重啟服務才能生效
三.FTP增加刪除用戶
1.增加用戶
#創建目錄
- mkdir -p /home/test
#創建用戶
- sudo useradd -g ftp -d /home/test -m test
(注:g:用戶所在的組 d:表示創建用戶的自己目錄的位置給予指定 m:不建立默認的自家目錄,也就是說在/home下沒有自己的目錄)
#設置用戶口令
- sudo passwd test123
編輯/etc/vsftpd.chroot_list文件,將ftp的帳戶名添加進去,保存退出
重新啟動vsftpd:
- $ sudo service vsftpd restart
注:修改用戶權限文件vsftpf.chroot_list文件后一定要重啟服務才能生效
2.刪除用戶
- $ sudo userdel test
四.卸載
sudo apt-get remove --purge vsftpd
(--purge 選項表示徹底刪除改軟件和相關文件)