作者:crazylinux 來源:賽迪網技術社區
實驗環境:AS4迷你安裝
實驗目標:架設VSFTP伺服器
這次我們來學習Linux系統中的 vsftp伺服器的配置。
下面我們開始了!首先我們安裝vsftp伺服器端的軟體。
vsftpd伺服器的安裝檔案位於第1張安裝光碟片中。
使用rpm命名可順利安裝該軟體包。
# rpm -ivh vsftpd-2.0.1-5.i386.rpm
安裝完後預設就可以啟動vsftp服務了,
[root@localhost ~]# service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
但是預設我們只能看,不能上傳。
1.下面我們開啟匿名使用者上傳
[root@localhost /]# vi /etc/vsftpd/vsftpd.conf
將 anon_upload_enable=YES
anon_mkdir_write_enable=YES
前面的#去掉
[root@localhost /]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
2.將FTP本機使用者禁錮在宿主目錄中
在vsftpd.conf檔案中添加設定項。
chroot_local_user=YES
重新啟動vsftpd服務。
# service vsftpd restart
3.建立虛擬帳號
a,建立虛擬使用者口令庫檔案。
[root@localhost ~]# cat logins.txt
mike
123
john
321
口令庫檔案中奇數行設定使用者名稱,偶數行設定口令 。
b,產生vsftpd的認證檔案(在第3張光碟片中安裝)。
[root@localhost RPMS]# rpm -ivh db4-utils-4.2.52-7.1.i386.rpm
warning: db4-utils-4.2.52-7.1.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing... ########################################### [100%]
1:db4-utils ########################################### [100%]
[root@localhost RPMS]# db_load -T -t hash -f /root/logins.txt /etc/vsftpd/vsftpd_login.db 產生認證檔案。
c, 設定認證檔案只對使用者可讀可寫。
# chmod 600 /etc/vsftpd/vsftpd_login.db
d,建立虛擬使用者所需的PAM設定檔。
手工建立vsftpd.vu檔案。
# cat /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
e,建立虛擬使用者及要訪問的目錄並設定相應的許可權。
建立所有FTP虛擬使用者帳號使用的系統使用者帳號,並設定該帳號宿主目錄的許可權。
# useradd -d /home/ftpsite virtual
# chmod 700 /home/ftpsite
f,設定vsftpd.conf設定檔。
在設定檔中添加虛擬使用者的配置內容。
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
重新啟動vsftpd服務程式。
g,對vsftpd.conf檔案修改後需要重新啟動vsftpd服務程式。
# service vsftpd restart
現在就應該可以用虛擬帳號登陸了,
4.對虛擬使用者佈建不同的許可權
設定主設定檔。
在vsftpd.conf檔案中添加使用者設定檔目錄設定。
user_config_dir=/etc/vsftpd_user_conf
建立使用者設定檔目錄。
使用mkdir命令建立使用者設定檔目錄。
# mkdir /etc/vsftpd_user_conf
為虛擬使用者建立單獨的設定檔。
使用者設定檔名稱與使用者名稱相同。
/etc/vsftpd_user_conf/mike
/etc/vsftpd_user_conf/john
裡面的內容如下:
anon_world_readable_only=NO 表示使用者可以瀏覽FTP目錄和下載檔案
anon_upload_enable=YES 表示使用者可以上傳檔案
anon_mkdir_write_enable=YES 表示使用者具有建立和刪除目錄的許可權
anon_other_write_enable=YES 表示使用者具有檔案改名和刪除檔案的許可權
沒有的配置項預設按照vsftpd.conf的配置內容
5.FTP伺服器的資源限制
max_clients=100 允許最大的用戶端串連數
max_per_ip=5 同一IP最大用戶端的串連數
local_max_rate=5000000 設定本機使用者最大傳輸數率
anon_max_rate=2000000 匿名使用者最大的傳輸數率