目錄[隱藏] |
首先我們假定你已經(jīng)安裝了vsftpd,并在/home/vsftpd 目錄下建立了以下3個(gè)子目錄
下面,我們要建3個(gè)虛擬用戶,密碼分別是用戶名后加"00"
使得
格式如下:
user_idpassword
于是,我們/home/loguser.txt文件的內(nèi)容為
cd /home 切換到/home目錄sudo touch /home/loguser.txt 創(chuàng)建賬戶和密碼文件sudo gedit /home/loguser.txt然后將下面的賬戶文件字符粘帖入loguser.txt中,注意一行一行輸入。
注意:奇數(shù)行為賬戶名,偶數(shù)行為密碼。也就是1.3.5.等行為用戶名,2.4.6行為密碼
db1db100 db2 db200 db3 db300
如果你以前沒裝過libdb4.6-util 或者你不清楚裝沒裝,需先執(zhí)行下面的命令
sudo apt-get install db4.6-util
然后,我們執(zhí)行
sudo db4.6_load -T -t hash -f /home/loguser.txt /etc/vsftpd_login.db
最后設(shè)置一下數(shù)據(jù)庫文件的訪問權(quán)限
sudo chmod 600 /etc/vsftpd_login.db
編輯文件/etc/pam.d/vsftpd.vu 將以下內(nèi)容增加的原文件前面兩行:
auth required pam_userdb.so db=/etc/vsftpd_loginaccount required pam_userdb.so db=/etc/vsftpd_login
新建一個(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
根據(jù)需要?jiǎng)?chuàng)建/etc/vsftpd.conf,一般要確保含有以下設(shè)置:
listen=YESanonymous_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
現(xiàn)在為止,我們的3個(gè)用戶都可以工作了,可是它們的根目錄現(xiàn)在都是/home/vsftpd,權(quán)限也都一樣。 那么怎么才能完成我們預(yù)定的目標(biāo)呢?
在上面的配置中,有這么一行
user_config_dir=/etc/vsftpd_user_conf
現(xiàn)在,我們要把各個(gè)用戶的配置文件放到目錄/etc/vsftpd_user_conf中
sudo mkdir /etc/vsftpd_user_confcd /etc/vsftpd_user_conf sudo touch db1 db2 db3
db1文件中的內(nèi)容如下
local_root=/home/vsftpd/dbzh1
同樣,db2文件中的內(nèi)容
local_root=/home/vsftpd/dbzh2
那么,db3的內(nèi)容呢? 其實(shí)也很簡單
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/dbzh3
這里要注意不能有空格,不然登錄的時(shí)候會(huì)提示出錯(cuò)。
如果有空格,在登錄時(shí),終端會(huì)提示:
500 OOPS: bad bool value in config file for: guest_enable Login failed.
或者
500 OOPS: bad bool value in config file for: anon_upload_enable Login failed.
等等之類的錯(cuò)誤的布爾值提示
因?yàn)槟愕哪莻€(gè)YES/NO 布爾值(bool value)后邊加了一個(gè)空格,即:
anon_world_readable_only=NO空格
正確的格式應(yīng)該是:
anon_world_readable_only=NO(無空格)?。。。。?!
注意,NO后邊的空格,要用退格鍵將其刪除。
重啟vsftpd我們就可以看到效果了^_^
/etc/init.d/vsftpd start|restart
500 OOPS: cannot change directory:
linux打開ftp遇到的問題 500 OOPS: cannot change directory:
google好多都是 執(zhí)行這個(gè)就OK setsebool ftpd_disable_trans 1 service vsftpd restart
但是執(zhí)行的時(shí)候遇到這個(gè)問題 Could not change active booleans: Invalid boolean
搜了好久終于解決
setsebool -P ftp_home_dir=1
聯(lián)系客服