Ubuntu server 14.04下安裝以及配置vsftpd

Ubuntu server 14.04下安裝以及配置vsftpd

廢話很少說,直接安裝shell

sudo aptitude install vsftpd

配置目標:一個不能本地登陸的用戶使用密碼登錄ftp,禁止匿名登錄上傳以及下載ubuntu

sudo vim /etc/vsftpd.conf

注析掉如下行的"#"vim

local_enables=YES        /*   本地用戶可登錄  */
write_enable=YES       /*   用戶可寫  */
local_umask=022       /*   用戶建立文件的默認權限  */
ascii_upload_enable=YES      /*   能夠文本方式上傳  */
ascii_download_enable=YES         /*   能夠文本方式下載  */
chroot_local_user=YES        /*    限制用戶在本身主目錄操做 */

在文本末新增如下行bash

allow_writeable_chroot=YES              /*  reference point 1  */

由於設置了chroot,所以以上行必須添加,要否則登錄時會提示錯誤ide

500 OOPS: vsftpd: refusing to run with writable root inside chroot ()

 

創建一個用戶專門用於登錄ftp的,爲了達到最精簡的創建,所以使用useradd命令(這也是我撞破頭的一個緣由,有關useradd和adduser的區別,請網上查找)測試

sudo useradd -c "ftp user" -d /srv/ftp/demo -m -U -s /usr/sbin/nologin demo
-c 就是用戶的備註說明
-d 就是指定用戶 主目錄位置(不是創建,是指定)
-m 就是創建用戶主目錄,若是沒有
-U 就是創建與用戶名相同的用戶組
-s 就是用戶shell(*************這就是我撞破頭的主要緣由********************)

給用戶設置密碼(這就是我撞破頭的另外一個主要緣由)ui

sudo passwd demo

(也是這個,我一直沒發現我新建的用戶沒有密碼,致使出現500或者530錯誤)spa

 

根據https://help.ubuntu.com/lts/serverguide/serverguide.pdf   說明,ubuntu server 14.04對shell有嚴格要求,加上vsftp使用pam認證,所以必須修改我新建用戶的shell在容許的範圍,.net

sudo vim /etc/shells

行末添加rest

/usr/sbin/nologin

(也就是這個不斷出現530錯誤,致使我覺得哪裏出錯了)

最後,就是重啓

sudo service vsftpd restart

 (vsftpd竟然不是基本服務,bash下tab鍵竟然沒得補全,汗)

最後 ftp localhost 測試一下就能夠了

 

reference:

  1. http://blog.csdn.net/bluishglc/article/details/42399439

相關文章
相關標籤/搜索