網(wǎng)上搜索了很多資料,過(guò)時(shí),不全,貨不對(duì)版
已下步驟親測(cè)有效,不包含匿名用戶登錄
1、新建/home/loguser.txt
并填充內(nèi)容,格式如下
用戶名密碼用戶名密碼用戶名密碼
2、生成db文件用于用戶驗(yàn)證
執(zhí)行db_load -T -t hash -f /home/loguser.txt /etc/vsftpd_login.db
如果沒(méi)有裝db會(huì)提示你apt-get install,根據(jù)提示的內(nèi)容輸入命令安裝后再次執(zhí)行生成db
3、設(shè)置數(shù)據(jù)庫(kù)文件的訪問(wèn)權(quán)限
chmod 600 /etc/vsftpd_login.db
4、編輯文件/etc/pam.d/vsftpd.vu 將以下內(nèi)容增加到原文件前面兩行:
auth required pam_userdb.so db=/etc/vsftpd_loginaccount required pam_userdb.so db=/etc/vsftpd_login
如果沒(méi)有vsftpd.vu就新建一個(gè)
5、新建一個(gè)系統(tǒng)用戶vsftpd,用戶家目錄為/home/vsftpd, 用戶登錄終端設(shè)為/bin/false(即使之不能登錄系統(tǒng))
sudo useradd vsftpd -d /home/vsftpd -s /bin/falsesudo chown vsftpd:vsftpd /home/vsftpd
6、根據(jù)需要?jiǎng)?chuàng)建/etc/vsftpd.conf,一般要確保含有以下設(shè)置:
listen=NOanonymous_enable=NO dirmessage_enable=YES xferlog_enable=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES chroot_local_user=YES guest_enable=YES guest_username=vsftpduser_config_dir=/etc/vsftpd_user_conf pam_service_name=vsftpd.vu local_enable=YES secure_chroot_dir=/var/run/vsftpd
7、新建目錄/etc/vsftpd_user_conf
在目錄內(nèi)新建對(duì)應(yīng)你第一步的用戶名的文件 比如你有用戶dbtest 那你在這個(gè)目錄內(nèi)也要建立一個(gè)dbtest的文件
8、配置單個(gè)用戶的權(quán)限,確保你的dbtest內(nèi)是這些內(nèi)容
write_enable=YESanon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES local_root=/home/vsftpd/dbtest
注意所有的配置文件內(nèi)容前后都不能有空格,不然登錄的時(shí)候會(huì)提示出錯(cuò)ahjesus.com
9、新建對(duì)應(yīng)local_root的目錄,并賦予777權(quán)限
測(cè)試上傳下載編輯刪除
10、掛載虛擬目錄
比如我的ftp的默認(rèn)目錄是/srv/ftp,我想把/mnt/LinG/WinSoft文件夾,映射到/srv/ftp目錄中,我就如下操作 命令:
#mount --bind [原有的目錄](méi) [新目錄](méi)
先創(chuàng)建文件夾
sudo mkdir /srv/ftp/WinSoft
執(zhí)行mount命令
sudo mount --bind /mnt/LinG/WinSoft /srv/ftp/WinSoft最后注意,掛載的虛擬目錄也需要777權(quán)限
關(guān)于500 OOPS: vsftpd: refusing to run with writable root inside chroot()
個(gè)人理解是不能在主目錄有寫入權(quán)限
這里可以設(shè)置主目錄的權(quán)限為775
然后設(shè)置指定的用戶的目錄權(quán)限為777
可以順利登陸操作了
新聞熱點(diǎn)
疑難解答
圖片精選