安裝環境:CentOS 6.5 64位 vsftpd 2.2.2
- 輸入命令rpm -qa | grep vsftpd 檢查是否安裝過vsftpd
- yum -y install vsftpd
- 啟動服務 service vsftpd start
配置文件 在 /etc/vsftpd/vsftpd.conf
把anonynous_enable=YES 改成 NO
最后再加上這四條語句
pasv_enable=YES #開啟被動模式
pasv_min_port=24500 #被動模式最小端口號
pasv_max_port=24600 #被動模式最大端口號
accept_timeout=60 #被動模式超時時間
- 限制本地用戶只能訪問主目錄
打開配置文件中的語句
chroot_local_user=YES
- 限制指定用戶可以訪問全部目錄
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
手工建立chroot_list,把目標用戶寫進文件
最后執行 service vsftpd restart
配置文件中本來就有userlist_enable=YES這句。在其后面加上兩行語句/etc/vsftpd/use_list的作用就變成白名單了
配置虛擬用戶
準備工作:將之前添加配置文件語句注釋掉
注釋語句
注釋語句
配置虛擬用戶登陸的步驟:
1 添加虛擬用戶口令文件
2 生成虛擬用戶口令認證文件
3 編輯vsftpd的PAM認證文件
4 建立本地映射用戶并設置宿主目錄權限
5 修改配置文件
6 重啟vsftpd服務,并測試
7 調整虛擬用戶權限
- 添加虛擬用戶口令文件
vi /etc/vsftpd/vexample.txt
test1 #用戶名
123 #密碼
test2 #用戶名
123 #密碼
- 生成虛擬用戶口令認證文件
yum -y install db4-utils
[如果沒有安裝口令認證命令,需要安裝]
db_load -T -t hash -f /etc/vsftpd/vexample.txt /etc/vsftpd/vexample.db
[把文本文檔變為認證的數據庫]
- 編輯vsftpd的PAM認證文件
vi /etc/pam.d/vsftpd
- 建立本地映射用戶并設置宿主目錄權限,注意圖片中的操作一共為兩個步驟
- 修改配置文件
- 重啟服務,測試
經過測試,發現報錯530登錄失敗,最后在網上找到解決方法
http://blog.csdn.net/u010566813/article/details/42550483
-
調整虛擬用戶權限
進入配置文件,加上這三句話
然后指定保存虛擬用戶配置文件的目錄
添加這句:user_config_dir=/etc/vsftpd/vusers
mkdir /etc/vsftpd/vuser
cd /etc/vsftpd/vuser
vi test1
添加以下內容:
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
#允許此用戶上傳
local_root=/tmp/vsftpd/test1
#給xuniyonghu指定獨立的上傳目錄
保存退出
mkdir /tmp/vsftpd/test1
圖中權限為更改后效果
注意,在虛擬用戶配置文件目錄中單獨添加的虛擬用戶遵循單獨的配置文件,沒有添加單獨配置文件的虛擬用戶遵從主配置文件的權限控制[/etc/vsftpd/vsftpd.conf為主配置文件]