Vsftp與PAM虛擬用戶php
使用yum 安裝vsftphtml
- yum install vsftpd pam pam-* db4 db4-*
建立一個保存用戶及密碼的文件linux
- cd /etc/vsftpd/
- touch virtual_login
添加用戶(一行用戶一行是密碼)shell
- vim virtual_login
dongnan
nandong 數據庫
將文本內的賬號及密碼添加到db4的數據庫文件內 vim
- db_load -T -t hash -f /etc/vsftpd/virtual_login /etc/vsftpd/virtual_login.db
將vsftpd原內容所有註釋掉,並添加以下: centos
- sed -ir 's/^/#/g' /etc/pam.d/vsftpd
- echo -n '
- auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/virtual_login
- account required /lib64/security/pam_userdb.so db=/etc/vsftpd/virtual_login
- ' >> /etc/pam.d/vsftpd
建立一個vsftpd服務的用戶vsftpd,你也可使用-d來指定他的家目錄服務器
- useradd -s /sbin/nologin vsftpd
- useradd -d /var/ftp/dongnan -s /sbin/nologin dongnan
更改 vsftpd的配置文件session
- cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
- awk '! /^(#|$)/' /etc/vsftpd/vsftpd.conf.bak
#不容許匿名訪問
anonymous_enable=NO
#設定本地用戶能夠訪問。注意:主要是爲虛擬宿主用戶,若是該項目設定爲NO那麼全部虛擬用戶將沒法訪問
local_enable=YES
#容許寫操做
write_enable=YES
#建立或上傳後文件的權限掩碼
local_umask=022
#禁止匿名用戶上傳
anon_upload_enable=NO
#禁止匿名用戶建立目錄
anon_mkdir_write_enable=NO
#進入目錄時能夠顯示一些設定的信息,能夠經過message_file=.message來設置
dirmessage_enable=YES
#開啓日誌
xferlog_enable=YES
#主動鏈接的端口號
connect_from_port_20=YES
#設定禁止上傳文件更改宿主
chown_uploads=NO
#日誌路徑,記得本身建立一下而且對這個文件進行chown vsftpd.vsftpd /var/log/vsftpd.log
xferlog_file=/var/log/vsftpd.log
#就是格式話日誌格式的,你懂得。使用wu ftp軟件時設置yes就行
xferlog_std_format=YES
#由於咱們把vsftpd的shell設置爲nobody 了,因此 這個地方寫vsftpd就能夠啦!固然或者能夠寫成系統內的nobody
nopriv_user=vsftpd
#設定支持異步傳輸功能
async_abor_enable=YES
#設定支持ASCII模式的上傳
ascii_upload_enable=YES
#設定支持ASCII模式的上傳
ascii_download_enable=YES
#登錄歡迎語
ftpd_banner=Welcome to dongnan FTP service.
#限定在本身的目錄內,不讓他出去,就好比若是設置成NO,那麼當你登錄到ftp的時候,能夠訪問服務器的其餘一些有權限目錄。設置爲YES後即,鎖定你的目錄了
chroot_list_enable=YES
#待會要把用戶寫到這個裏面,寫到這裏的用戶乖乖的呆在家目錄下吧
chroot_list_file=/etc/vsftpd/chroot_list
#以standalone方式來啓動
listen=YES
#/etc/pam.d/下的vsftpd文件
pam_service_name=vsftpd
#在/etc/vsftpd/user_list中的用戶將不得使用FTP
userlist_enable=YES
#支援 TCP Wrappers 的防火牆機制
tcp_wrappers=YES
#啓用虛擬用戶功能
guest_enable=YES
#虛擬用戶的權限符合他們的宿主用戶
virtual_use_local_privs=YES
#虛擬用戶我的vsftpd的配置文件存放路徑。vsftpd_config是文件夾啊。注意:配置文件名必須和虛擬用戶名相同
user_config_dir=/etc/vsftpd/vsftpd_config
建立一下保存虛擬用戶配置文件的目錄 app
- mkdir /etc/vsftpd/vsftpd_config/
建立vsftp日誌文件
- touch /var/log/vsftpd.log
- chmod 600 /var/log/vsftpd.log
- chown vsftpd.vsftpd /var/log/vsftpd.log
建立要將哪些用戶固定在家目錄的配置文件
- touch /etc/vsftpd/chroot_list
將須要固定用戶目錄的用戶名字寫進去便可。
- cd /etc/vsftpd/vsftpd_config/
- cat > dongnan << EOF
- #起用虛擬用戶,centos下yes必須爲小寫字母
- guest_enable=yes
- #映射本地虛擬用戶
- guest_username=dongnan
- #若是當時建立用戶的時候鎖定一個目錄了,那就能夠不寫
- local_root=/var/ftp/dongnan
- #用戶會話空閒後10分鐘
- idle_session_timeout=600
- #將數據鏈接空閒2分鐘斷
- data_connection_timeout=120
- #最大客戶端鏈接數
- max_clients=10
- #每一個ip最大鏈接數
- max_per_ip=5
- #限制上傳速率,0爲無限制
- local_max_rate=0
- EOF
啓動vsftp
- /etc/init.d/vsftpd start
Starting vsftpd for vsftpd: 500 OOPS: bad bool value in config file for: anon_upload_enable
注意: 這裏出現了 500 OOPS 之類的錯誤,請使用如下命令去除"多餘的空格",再次啓動vsftp 便可。
- sed -ir 's/[ ]*$//g' /etc/vsftpd/vsftpd.conf
- sed -ir 's/[ ]*$//g' /etc/vsftpd/vsftpd_config/dongnan
參考
Vsftp服務安裝搭建,虛擬用戶配置
http://kinggoo.com/app-installvsftpdconf.htm
第二十一章、檔案伺服器之三: FTP 伺服器
http://linux.vbird.org/linux_server/0410vsftpd.php
小知識:
/sbin/nologin和/bin/false的區別
/bin/false是最嚴格的禁止login選項,一切服務都不能用,而/sbin/nologin只是不容許系統login,可使用其餘ftp等服務。
更多請:
linux 相關 274134275 , 37275208(已滿) vmware 虛擬化相關 166682360