建立基於虛擬使用者的VSftpd服務_linux shell

來源:互聯網
上載者:User

上一篇文章給大家介紹了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錯誤,一般原因就是因為目錄的許可權問題而造成的,檢查目錄的許可權應該可以排除。

好了,就這些了,以後遇到再補充吧!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.