Vsftp與PAM虛擬用戶

Vsftp與PAM虛擬用戶php



使用yum 安裝vsftphtml

  
  
  
  
  1. yum install vsftpd pam pam-* db4 db4-* 


建立一個保存用戶及密碼的文件linux

  
  
  
  
  1. cd /etc/vsftpd/ 
  2. touch virtual_login 


添加用戶(一行用戶一行是密碼shell

  
  
  
  
  1. vim  virtual_login 

dongnan
nandong
數據庫


將文本內的賬號及密碼添加到db4的數據庫文件內 vim

  
  
  
  
  1. db_load -T -t hash -f /etc/vsftpd/virtual_login /etc/vsftpd/virtual_login.db 


將vsftpd原內容所有註釋掉,並添加以下:
centos

  
  
  
  
  1. sed -ir 's/^/#/g' /etc/pam.d/vsftpd 
  2.  
  3. echo -n ' 
  4. auth    required   /lib64/security/pam_userdb.so   db=/etc/vsftpd/virtual_login 
  5. account required   /lib64/security/pam_userdb.so   db=/etc/vsftpd/virtual_login 
  6. >> /etc/pam.d/vsftpd 


建立一個vsftpd服務的用戶vsftpd,你也可使用-d來指定他的家目錄服務器

  
  
  
  
  1. useradd -s /sbin/nologin vsftpd 
  2. useradd -d /var/ftp/dongnan -s /sbin/nologin dongnan 


更改 vsftpd的配置文件
session

  
  
  
  
  1. cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak 
  
  
  
  
  1. 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

  
  
  
  
  1. mkdir /etc/vsftpd/vsftpd_config/ 


建立vsftp日誌文件

  
  
  
  
  1. touch /var/log/vsftpd.log 
  2. chmod 600 /var/log/vsftpd.log 
  3. chown vsftpd.vsftpd /var/log/vsftpd.log 


建立要將哪些用戶固定在家目錄的配置文件

  
  
  
  
  1. touch /etc/vsftpd/chroot_list 


將須要固定用戶目錄的用戶名字寫進去便可。

  
  
  
  
  1. cd /etc/vsftpd/vsftpd_config/ 
  
  
  
  
  1. cat > dongnan << EOF 
  2. #起用虛擬用戶,centos下yes必須爲小寫字母 
  3. guest_enable=yes 
  4. #映射本地虛擬用戶 
  5. guest_username=dongnan 
  6. #若是當時建立用戶的時候鎖定一個目錄了,那就能夠不寫 
  7. local_root=/var/ftp/dongnan 
  8. #用戶會話空閒後10分鐘
  9. idle_session_timeout=600 
  10. #將數據鏈接空閒2分鐘斷 
  11. data_connection_timeout=120 
  12. #最大客戶端鏈接數 
  13. max_clients=10 
  14. #每一個ip最大鏈接數 
  15. max_per_ip=5 
  16. #限制上傳速率,0爲無限制 
  17. local_max_rate=0 
  18. EOF 


啓動vsftp

  
  
  
  
  1. /etc/init.d/vsftpd start 

Starting vsftpd for vsftpd: 500 OOPS: bad bool value in config file for: anon_upload_enable
注意: 這裏出現了 500 OOPS 之類的錯誤,請使用如下命令去除"多餘的空格",再次啓動vsftp 便可。

  
  
  
  
  1. sed -ir 's/[ ]*$//g'  /etc/vsftpd/vsftpd.conf 
  2. 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

 

9.4 賬號和組配置文件

小知識:
/sbin/nologin和/bin/false的區別
/bin/false是最嚴格的禁止login選項,一切服務都不能用,而/sbin/nologin只是不容許系統login,可使用其餘ftp等服務。

 

更多請:
linux 相關  274134275 , 37275208(已滿) vmware 虛擬化相關  166682360

相關文章
相關標籤/搜索