linux 搭建ftp服務並設置限制訪問目錄

服務器有好幾個項目,新項目前端外包,由於要微信受權登錄,因此前端沒有辦法本地調試,必須上次ftp在咱們服務器上調試代碼,固然要限制ftp訪問的目錄,不然整個服務器項目都能看到了.前端

安裝vsftpd

sudo apt install vsftpd

 RedHat系web

yum install vsftpd

添加ftp用戶

添加ftp帳戶 myusername  設置限定訪問目錄 /home/wwwroot/webfooter/viewsubuntu

useradd -d  /home/wwwroot/webfooter/views  myusername

設置帳戶密碼安全

passwd myusername

禁止用戶telnet服務器

usermod -s /sbin/nologin myusername

 

修改配置文件

Debian系的配置文件在: /etc/vsftpd.conf微信

RedHat系的配置文件在: /etc/vsftpd/vsftpd.confide

修改vsftpd.conf 文件,去掉下面兩行註釋加密

chroot_list_enable=YES         //限制訪問自身目錄
chroot_list_file=/etc/vsftpd.chroot_list

RedHat係爲chroot_list_file=/etc/vsftpd/chroot_listspa

若是沒有vsftpd.chroot_list 自行新建, 將受限制的用戶添加進去,每一個用戶名一行.調試

而後在新增如下代碼

allow_writeable_chroot=YES

表示給受限制的用戶寫入的權限,若是不添加上面代碼可能會出現: 

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

 

重啓ftp服務

service vsftpd restart

 

問題

Filezilla提示不安全的服務器,不支持 FTP over TLS。

解決辦法: 文件-站點-加密協議改成使用普通FTP(不安全)

 

目錄權限

指定的目錄應該給予755或777 的權限

 

鏈接錯誤 331 Please specify the password 

出現錯誤的緣由,是由於ubuntu啓用了PAM,用vsftp時須要用到 /etc/pam.d/vsftpd 這個文件(默認源碼安裝的不會有這個文件),所以除了匿名用戶外本地用戶沒法登陸。因此解決的辦法就是刪除這個文件.

sudo rm /etc/pam.d/vsftpd
相關文章
相關標籤/搜索