linux環境中vsftpd的常用配置

corver
Linux上vsftpd的配置
最近正好專案遇上需要配置ftp的情況,感覺對於ftp的配置都差不多,所以特意寫下本篇部落格,話不多說,直接動手。
配置最終目的如下:
1.取消匿名登陸,必須賬號密碼登陸
2.只有配置檔案中的使用者允許登陸
3.所有使用者登陸後訪問相同的ftp環境
4.所有使用者不能夠切換到上級目錄
新建使用者
新建一個不能ssh登陸的使用者,作為我們的ftp的訪問使用者(不用root)
useradd ftp_user -d /home/ftp_user -s /sbin/nologin ftp_user--新建使用者 ftp_user並且主目錄為/home/ftp_user chmod -R 755 /home/ftp_user--修改該目錄訪問許可權 passwd ftp_user--設定該賬號密碼
安裝配置vsftpd
yum -y install vsftpd--安裝 cd /etc/vsftpd--切換到vsftp目錄下 mv vsftpd.conf vsftpd.conf.bak--備份原來的配置檔案 wget http://resource.jsbintask.cn/vsftpd/vsftpd.conf--獲取配置檔案
改配置檔案已經做好了大多數的配置,如下:

vsftpd
接下來編輯改配置檔案,vim vsftpd.conf,在最下方加入我們一開始配置使用者設定的主資料夾:
local_root=/home/ftp_user
接下來編輯ftpusers,刪除所有配置,空檔案就行(該檔案是哪些使用者不能訪問)
編輯user_list(該檔案控制哪些使用者可以登入ftp),加入我們剛剛新增的使用者ftp_user,刪掉其他所有行數,例如:

vsftpd
只有使用者jason和root可以登入。
啟動
service vsftpd start
如果啟動過程中報錯,重新編輯vsftp.conf,註釋掉 改行(這是vsftpd2.3以後的新配置):

vsftpd
重新啟動,成功。
接下來使用ftp工具連線即可
問題解決:
1. 關閉防火牆或者開啟如下埠 20, 21(ftp), 61001-62000範圍埠。
2.
wget http://resource.jsbintask.cn/vsftpd/config.sh
執行 config.sh,如果執行失敗,請修改指令碼中的 setsebool -P tftp_home_dir 1 為 setsebool -P ftp_home_dir 1
3. 編輯安全配置檔案 vim /etc/sysconfig/selinux,SELINUX=enforcing 改為 SELINUX=disabled
再次訪問,成功。
關注我!

image