上一篇文章給大家介紹了Linux中搭建FTP伺服器的方法,說了vsftpd的基本配置,也就是匿名和本地,這回來說一下配置虛擬使用者使用vsftpd,下面是具體步驟:
一、建立虛擬使用者口令檔案
可以使用vi命令建立一個使用者口令檔案,該檔案是一個文字檔,其中奇數行為使用者,偶數行為使用者密碼,檔案名稱可以任意,如我建立一個名為login.txt的檔案檔案裡的內容為:
a
abc123~
b
abc123~
其中a和b為使用者,abc123~為使用者的密碼。
二、產生vsftpd口令認證檔案
建立虛擬使用者口令檔案後,接下來就是使用db_load命令來建立口令認證檔案,預設情況下,db_load命令並沒有被安裝在系統中,該命令在db4_utils軟體包中。
liwei@linux# rpm -qa |grep db4-utils
liwei@linux# rpm -vih /media/Server/db4-utils-版本號碼.rpm
安裝上此軟體後就可以使用db_load命令來產生口令認證檔案了,如下:
liwei@linux# db_load -T -t hash -f login.txt /etc/vsftpd/vsftpuser.db
通過以上命令就在/etc/vsftpd/目錄中建立vsftpuser.db口令認證檔案了,建立好後為了安全起見我們為它修改一下許可權:
liwei@linux# chmod 600 /etc/vsftpd/vsftpuser.db
三、建立虛擬使用者所需的PAM設定檔
產生vsftpd口令認證檔案後,然後在/etc/pam.d/下建立一個檔案並編輯添加兩條記錄:
liwei@linux# vi /etc/pam.d/vsftpd.v
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpuser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpuser
編輯完儲存退出。
四、建立虛擬使用者訪問所需要的目錄
建立好虛擬使用者所需的PAM設定檔後,就到了建立虛擬使用者的工作環境這一步了,這一步的作用是用來映射所有的虛擬使用者,具體命令如下:
liwei@linux# useradd -s /sbin/nologin virtual //這一步可以自己使用-d來指定具體目錄
liwei@linux# chmod 700 /home/virtual
五、修改vsftpd.conf設定檔
建立好虛擬使用者訪問所需要的目錄後,就可以修改vsftpd.conf主設定檔了。在設定檔中添加如下選項:
anonymous_enable=NO
local_enable=YES
write_enable=YES
anon_upload_enable=NO
anon_mkidr_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES
pam_service_name=vsftpd.v
guest_enable=YES
guest_username=virtual
user_config_dir=/etc/vsftpd/vsftpuser_conf //為虛擬使用者建立單獨設定檔,可選
修改完設定檔後,建立虛擬使用者單獨設定檔目錄,然後為使用者添加設定檔:
liwei@linux# mkdir /etc/vsftpd/vsftpuser_conf
liwei@linux# mkdir /home/virtual/a
liwei@linux# chown virtual:virtual /home/virtual/a
liwei@linux# vi /etc/vsftpd/vsftpusr_conf/a
在此檔案裡為a虛擬使用者添加單獨配置選項:
local_root=/home/virtual/a
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_wirte_enable=YES
儲存退出
使用命令service vsftpd restart重啟一下服務。
用同樣的方法建立虛擬使用者b的設定檔及目錄。
六、做完以上這些步驟後,整個實驗就OK了,到了測試的時候了,到Windows或linux客戶機上試試看能不能使用虛擬使用者a和b是否能訪問此FTP伺服器。
常會出現的錯誤有:
1.530 Login incorrect //登入被拒絕
這個錯誤是由於系統中沒有vsftpd的pam檔案所導致的,如出現此錯誤請檢查PAM檔案
2.500 OOPS: cannot change directory:目錄
Login failed
這個錯誤是你的設定檔裡指定的目錄名不正確,請檢查目錄來解決問題。
3.還有一個550錯誤,一般原因就是因為目錄的許可權問題而造成的,檢查目錄的許可權應該可以排除。
好了,就這些了,以後遇到再補充吧!