- 論壇徽章:
- 0
|
本帖最后由 w80286 于 2010-04-05 10:24 編輯
FTP區(qū)置頂貼里有一篇文章:vsftp配置大全---超完整版,首發(fā)CU之FTP區(qū)
我是一個(gè)新手,我看這篇文章的內(nèi)容很舊了,跟現(xiàn)在的系統(tǒng)有一定的區(qū)別,各位高手能不能幫忙更新一下關(guān)于vsftp的配置文檔。
比如說我正在看的虛擬用戶配置文檔:
3、虛擬用戶形式實(shí)現(xiàn)(db及mysql形式)
# cd /home/xuchen/vsftpd-2.0.3 //進(jìn)入vsftpd-2.0.3的源代碼目錄
# make clean //清除編譯環(huán)境
# vi builddefs.h \\繼續(xù)編輯builddefs.h 文件,文件內(nèi)容如下:
#ifndef VSF_BUILDDEFS_H
#define VSF_BUILDDEFS_H
#define VSF_BUILD_TCPWRAPPERS
#undef VSF_BUILD_PAM
#define VSF_BUILD_SSL
#endif /* VSF_BUILDDEFS_H */
將以上define VSF_BUILD_PAM行的undef改為define,支持tcp_wrappers,支持PAM認(rèn)證方式,支持SSL,和匿名用戶形式是一樣的。
# make //直接在vsftpd-2.0.3里用make編譯
# ls -l vsftpd
-rwxr-xr-x 1 root root 86088 Jun 6 22:26 vsftpd //可執(zhí)行程序已被編譯成功
創(chuàng)建必要的帳號,目錄:
# useradd nobody //可能你的系統(tǒng)已經(jīng)存在此帳號,那就不用建立
# mkdir /usr/share/empty //可能你的系統(tǒng)已經(jīng)存在此目錄,那就不用建立
# mkdir /var/ftp //可能你的系統(tǒng)已經(jīng)存在此目錄,那就不用建立
# useradd -d /var/ftp ftp //可能你的系統(tǒng)已經(jīng)存在此帳號,那就不用建立
# chown root:root /var/ftp
# chmod og-w /var/ftp
請記住,如果你不想讓用戶在本地登陸,那么你需要把他的登陸SHELL設(shè)置成/sbin/nologin,比如以上的nobody和ftp我就設(shè)置成/sbin/nologin
安裝vsftp配置文件,可執(zhí)行程序,man等:
# install -m 755 vsftpd /usr/local/sbin/vsftpd-pam
# install -m 644 vsftpd.8 /usr/share/man/man8
# install -m 644 vsftpd.conf.5 /usr/share/man/man5
# install -m 644 vsftpd.conf /etc/vsftpd-pam.conf
這樣就安裝完成了,那么我們開始進(jìn)行簡單的配置
對于用DB庫存儲用戶名及密碼的方式來說:
(1)查看系統(tǒng)是否有相應(yīng)軟件包
# rpm –qa | grep db4
db4-devel-4.2.52-7.1
db4-4.2.52-7.1
db4-utils-4.2.52-7.1
(2)建立一個(gè)logins.txt的文件,單行為用戶名,雙行為密碼,例如
# vi /home/logins.txt
xuchen
12345
(3)建立數(shù)據(jù)庫文件并設(shè)置文件屬性
# db_load -T -t hash -f /home/logins.txt /etc/vsftpd_login.db
# chmod 600 /etc/vsftpd_login.db
(4)建立認(rèn)證文件
# vi /etc/pam.d/ftp 插入如下兩行
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
(5)建立一個(gè)虛擬用戶
useradd -d /home/vsftpd -s /sbin/nologin vsftpd
ls -ld /home/vsftpd
drwx------ 3 vsftpd vsftpd 1024 Jun 6 22:55 /home/vsftpd/
(6)編寫配置文件(注意事項(xiàng)請參看匿名用戶的配置,這里不再贅述)
# vi /etc/vsftpd-pam.conf
listen=YES
listen_port=21
tcp_wrappers=YES //支持tcp_wrappers,限制訪問(/etc/hosts.allow,/etc/hosts.deny)
listen=YES的意思是使用standalone啟動vsftpd,而不是super daemon(xinetd)控制它 (vsftpd推薦使用standalone方式)
anonymous_enable=NO
local_enable=YES //PAM方式此處必須為YES,如果不是將出現(xiàn)如下錯(cuò)誤:
500 OOPS: vsftpd: both local and anonymous access disabled!
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES
guest_enable=YES
guest_username=vsftpd //這兩行的意思是采用虛擬用戶形式
virtual_use_local_privs=YES //虛擬用戶和本地用戶權(quán)限相同
pasv_enable=YES //建立資料聯(lián)機(jī)采用被動方式
pasv_min_port=30000 //建立資料聯(lián)機(jī)所可以使用port 范圍的上界,0表示任意。默認(rèn)值為0。
pasv_max_port=30999 //建立資料聯(lián)機(jī)所可以使用port 范圍的下界,0表示任意。默認(rèn)值為0。
(7)啟動程序
# /usr/local/sbin/vsftpd-pam /etc/vsftpd-pam.conf &這句,現(xiàn)在就不是這樣啟動的了,不知道怎么弄。
(8)測試連通及功能
# vi /home/vsftpd/test //建立一個(gè)文件,內(nèi)容如下
1234567890
# chown vsftpd.vsftpd /home/vsftpd/test
# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.0.3)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (127.0.0.1:root): xuchen
331 Please specify the password.
Password: |
|