Centos下安裝FTP並進行虛擬用戶訪問方式配置

1.1.安裝認證所需包服務器

[root@localhost]#yum install pam*
[root@localhost]#yum install db4*

首先安裝PAM(用於用戶認證)和DB4(用於生成虛擬用戶的用戶名密碼的db文件)。session

1.2.安裝vsftpdapp

[root@localhost]#yum install vsftpd

1.3.設置vsftpd開機啓動:tcp

[root@localhost]#chkconfig vsftpd on
[root@localhost]#systemctl enable vsftpd
經過chkconfig --list 查看啓動項
經過systemctl is-enabled 查看啓動項

1.4 配置vsftpd.confide

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
 
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
 
connect_from_port_20=YES
idle_session_timeout=600
listen=YES
 
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

guest_enable=YES
guest_username=ftp
user_config_dir=/etc/vsftpd/virtualuser_conf

*重要參數說明:
anonymous_enable=NO 不容許匿名訪問
local_enable=YES     本地用戶能夠訪問,若是設置成NO的話,ftp這個系統本地用戶無法進行訪問了,全部的ftp客戶端固然也無法進行上傳下載了。
write_enable=YES    #可寫(可上傳)

xferlog_enable=YES
xferlog_file=/etc/vsftpd/vsftpd.log
xferlog_std_format=YES
這3項因爲設置log日誌,記得在/etc/vsftpd/下新建一個vsftpd.log文件。

guest_enable=YES #啓用虛擬用戶
guest_username=ftp #虛擬用戶借用的系統本地用戶名
user_config_dir=/etc/vsftpd/virtualuser_conf #虛擬用戶的配置文件路徑,因此別忘了在/etc/vsftpd/目錄下新建一個virtualuser_conf文件夾

1.5 配置虛擬用戶測試

好比我要添加一個叫xmzncc用戶,ftp客戶端就使用該用戶名(密碼後面設置)進行上傳下載,在/etc/vsftpd/virtualuser_conf新建一個名叫xmzncc的文件:touch xmzncc 。文件裏面的內容爲:ui

local_root=/data/share/vsftpd/
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
*參數說明:
local_root=/data/share/vsftpd/ #該虛擬用戶上傳下載的根目錄
write_enable=YES #可寫(可上傳)
anon_umask=022 #掩碼  

接下來在/etc/vsftpd/目錄新建一個記錄全部客戶端用戶(虛擬用戶)的用戶名密碼的文本文檔:spa

touch virtualuser_passwd.txt

裏面的內容爲:日誌

xmzncc
passwd1
xmzncc2
passwd2

奇數行是用戶名,偶數行是密碼,這裏建了兩個虛擬用戶,可是zhang1這個用戶沒有給設置。code

1.6 生成虛擬用戶認證的db文件 接着,生成虛擬用戶認證的db文件

db_load -T -t hash -f /etc/vsftpd/virtualuser_passwd.txt /etc/vsftpd/virtualuser_passwd.db

隨後,編輯認證文件/etc/pam.d/vsftpd,所有註釋掉原來語句 再增長如下兩句

auth required pam_userdb.so db=/etc/vsftpd/virtualuser_passwd
account required pam_userdb.so db=/etc/vsftpd/virtualuser_passwd

設置服務器上的目錄權限 由於這裏設置的上傳下載的根目錄爲/data/share/vsftpd/,因此這個文件夾的權限很重要,開始新建的時候它是root:root,屬於root用戶,屬於root組,後來改爲了root:ftp,即改爲了ftp組,由於客戶端進行上傳下載是藉助服務器上的ftp用戶,ftp用戶是屬於ftp組的。這樣能進行訪問下載,可是下載有問題,各類改權限,最後直接將這個目錄改爲ftp:ftp全部問題都沒有了,並且ftp用戶對該目錄具備rwx(可讀可寫可執行)的權限:

[root@localhost]#chown -R root:ftp /data/share/vsftpd/
[root@localhost]#chmod 077 /data/share/vsftpd/

1.7 測試

相關文章
相關標籤/搜索