- 論壇徽章:
- 0
|
#約定: 所有在"[ ]"里的都是應(yīng)該直接在運(yùn)行的命令,所有的目錄因素已經(jīng)完整
#說(shuō)名: 此文檔翻譯和整理自源代碼包內(nèi)的example文檔, 本人首次發(fā)布于linuxsir.com
準(zhǔn)備:
1) 確認(rèn)已經(jīng)安裝vsftpd
[rpm -q vsftpd]
2) 確認(rèn)安裝Berkeley db
[rpm -q db4 ]
開(kāi)始:
1) 生成虛擬用戶的數(shù)據(jù)庫(kù):
使用pam_userdb 來(lái)認(rèn)證虛擬用戶.
先生成一個(gè)logins.txt:
[vi /root/logins.txt ]
tom
foo
fred
bar
[db_load -T -t hash -f /root/logins.txt /etc/vsftpd/vsftpd_login.db]
[chmod 600 /etc/vsftpd/vsftpd_login.db]
#更多關(guān)于DB 的資料,看下面:
http://www.sleepycat.com/docs/utility/index.html
2) 生成一個(gè)使用你的新的db的PAM 文件.
[vi /etc/pam.d/vsfptd]
修改成如下:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
[cp /etc/pam.d/vsftpd /etc/pam.d/ftp]
3) 建立虛擬用戶的目錄.
[useradd -d /home/ftpsite virtual ]
[ls -ld /home/ftpsite ]
(看起來(lái)應(yīng)該是這樣的):
drwx------ 3 virtual virtual 4096 Jul 30 00:39 /home/ftpsite
拷貝一個(gè)文件來(lái)做測(cè)試用:
[cp /etc/hosts /home/ftpsite]
[chown virtual.virtual /home/ftpsite/hosts]
4) 建立你自己的 /etc/vsftpd/vsftpd.conf 文件
anonymous_enable=NO
local_enable=YES
#這禁止了匿名用戶使用FTP 服務(wù),并且允許非匿名用戶的登錄,就是虛擬用戶所需要的權(quán)限
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
#出于安全的目的,禁止寫權(quán)限
chroot_local_user=YES
#這明確了虛擬用戶是被定向到了虛擬的FTP 空間:/home/ftpsite
guest_enable=YES
guest_username=virtual
# guest_enable 是很重要的- 它激活了虛擬用戶的選項(xiàng)! 而guest_username 說(shuō)明所有的虛擬用戶被看做是實(shí)際的用戶"virtual" . 這也幫助確定用戶的目錄.
listen=YES
listen_port=10021
# 使 vsftpd 以"standalone" 模式運(yùn)行- 端口10021
pasv_min_port=30000
pasv_max_port=30999
#限定端口,方便防火墻的設(shè)置
5) 運(yùn)行 vsftpd.
[vsftpd /etc/vsftpd/vsftpd.conf &]
#這樣做是指定配置文件,同時(shí)可以避免出500錯(cuò)誤
6)確認(rèn)已經(jīng)運(yùn)行:
[ps aux|grep vsftpd]
7)測(cè)試.
ftp localhost 10021
Connected to localhost (127.0.0.1).
220 ready, dude (vsFTPd 1.1.0: beat me, break me)
Name (localhost:chris): tom
331 Please specify the password.
Password:
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>; pwd
257 "/"
ftp>; ls
227 Entering Passive Mode (127,0,0,1,117,135)
150 Here comes the directory listing.
226 Transfer done (but failed to open directory). # 僅僅因?yàn)槟夸洸⒎强闪斜淼?忽略
ftp>; size hosts # 查看文件名為"hosts"的文件的大小
213 147
ftp>; get hosts # 下載文件名為"hosts"的文件
# 如果有錯(cuò)誤請(qǐng)反饋! |
|