2015年6月27日 星期六

ubuntu vsftpd






sudo apt-get install vsftpd

vsftpd的相關設定檔:
/etc/vsftpd.conf
/etc/vsftpd.chroot_list

修改設定檔:修改之前記得先備份。
sudo gedit /etc/vsftpd.conf

設定檔中,一些重要的設定說明:
# Allow anonymous FTP? (Disabled by default)
anonymous_enable=NO
是否允許任意使用者連線,預設為=NO,只想給自己使用的就請設為NO

# Uncomment this to allow local users to log in.
local_enable=YES
是否允許本機使用者登入FTP,使用自己的帳號登入者請設為YES

# Uncomment this to enable any form of FTP write command.
write_enable=YES
是否開放寫入的權限,視需求設定,一般開放給自己的就都設為YES

# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
可寫入,且可新增目錄、檔案權限為 775
local_umask=002


chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
關於以上三個設定說明如下:
chroot,就是讓使用者變換根目錄的功能,在登入FTP Server時,預設根目錄為使用者的home directory

chroot_local_user=YES
chroot_list_enable=YES
這樣的設定,讓所有使用者無法變換根目錄,除了/etc/vsftpd.chroot_list中所列的使用者。

都改好了記得要重新啟動vsftpd,才會生效。

sudo /etc/init.d/vsftpd restart


連線進入自己的vsFTPd時,有兩個必要條件,第一個當然電腦要開著,第二個就是要知道自己電腦的IP(有域名的就直接用域名)。

如果您是固定IP上網,要連入自己的vsFTPd就很簡單,但是台灣大多數的連線都是ADSL,是浮動IP,每次上網都會變動,要知道自己電腦上網時的真實IP,可以開啟終端機查詢:
sudo ifconfig


================================================

新增本地使用者+指定登陸瀏覽目錄設定
sudo useradd -d /ex/ex2 -M test
指令說明:新增帳號為test的本地使用者,限制瀏覽目錄於/ex2這個目錄以下,可以往下,無法到上層/ex
sudo passwd test
指令說明:設定本地帳號test使用者的密碼,可新增設定多組使用
sudo useradd -d /ex/ex2 -M test2
sudo passwd test2
若要更改指定目錄則-d後面的/ex/ex2更換即可,但是這個地方須留意的就是權限
/ex這個為上層目錄,上層目錄不能為chomd 777,這樣的話會變成權限過大,vsftpd無法登陸

===============================

疑難雜症

  1. 530 Login incorrect.
    檢查 pam.d/vsftpd 的設定,該註解的要註解掉。另外,auth 及 account 同一行內不可以有註解符號(#)。
  2. 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
    這是因為新版的 vsftpd 限制當啟用chroot時,user的home目錄不可以有寫入的權限,只可以在子目錄下做寫入的動作。google大神上的解法,除了安裝另一個套件(可參考這裡)我沒測試過外,其餘目前測試都無效。所以乖乖把寫入的權限拿掉吧。
    chmod a-w /srv/ftp/user1
    
  3. 226 transfer done (but failed to open directory)
    這是因為目錄沒有x權限的問題,把x權限加上去即可
    chmod a+x /srv/ftp/user1 
    
  4. 550 Failed to change directory
    同226的問題,把x權限加上去即可
    chmod a+x /srv/ftp/user1 

沒有留言:

張貼留言