您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關linux運維之如何搭建出符合自己要求的vsftp服務,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
當我們在服務器上安裝好了vsftpd這個軟件后,并且已經理解該軟件的主配置文件/etc/vsftpd/vsftpd.conf后,我們就可以搭建出自己想要的ftp服務了。
指定端口等
listen_port=21 設置監聽的端口
download_enable=YES 允許下載文件
max_clients=100 限制并發客戶端連接數
max_per_ip=100 限制統一ip的并發鏈接數
禁止匿名、實體用戶登陸
首先把匿名用戶登陸給關了,不給匿名用戶瀏覽權限。
anonymous_enable=NO
那么為什么不允許實體用戶登陸呢?因為實體用戶本就可以用更安全的sftp登陸,所以,就不用使用ftp協議登陸了。另外,因為ftp是明文傳輸協議,如果賬號密碼被截獲了,那就不好了。
如何禁止實體用戶登陸呢?在文章下面配置虛擬用戶的第三步驟會講到,把/etc/pam.d/vsftpd下的所有內容都注釋掉。
主動連接、被動連接設置
我們想要搭建既要支持主動連接模式也支持被動連接,那么設置如下:
主動連接模式的端口設置
connect_from_port_20=YES
設置防火墻,將21端口放行,另外不用開啟20端口,直接對于主機主動向外請求的而響應的數據包允許進入本機(establish/related)。
iptables -A INPUT -p tcp --dport 21 -j ACCEPT # FTP服務 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
開啟被動模式,被動連接的端口限定為10001~11000中的任意一個。
pasv_enable=YES pasv_min_port=10001 pasv_max_port=11000
設置防火墻,允許10000~11000之間的端口開放。
iptables -A INPUT -p tcp --dport 10001::11000 -j ACCEPT # ftp被動連接端口
配置虛擬用戶
配置虛擬用戶的步驟如下:
建立虛擬用戶口令文件
生成虛擬用戶口令認證文件
編輯vsftpd的PAM認證文件
建立本地映射目錄并設置宿主目錄權限
修改配置文件。
給每一個虛擬用戶弄一個單獨的配置文件
1.建立虛擬用戶的口令文件,該文件的格式為奇數行為用戶名,偶數行為密碼。下面建立一個這樣的文件/etc/vsftpd/vusers,內容如下:
ftptest1 111111 ftptest2 222222
2.生成虛擬用戶口令認證文件,執行如下命令:
db_load -T -t hash -f /etc/vsftpd/vusers /etc/vsftpd/login.db
當命令正確執行后,就會出現 /etc/vsftpd/login.db文件。為了安全起見,我們將該文件的權限設置為600.
chmod 600 login.db
3.編輯虛擬用戶所需的PAM配置文件
vim /etc/pam.d/vsftpd
將之前的內容全部給注釋掉,并新加入兩行
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/login account required /lib64/security/pam_userdb.so db=/etc/vsftpd/login
注意,如果是32位的去掉lib后面64,另外login后面不用加入后綴的。這樣操作之后,實體用戶就不能登陸ftp服務了。
4.建立本地映射目錄并設置宿主目錄權限。
建立虛擬用戶的宿主用戶
# useradd -d /home/vsftp -s /sbin/nologin ftpuser
修改目錄權限為755
# chmod 755 /home/vsftp/
5.修改配置文件。
把下面幾行配置信息寫入到/etc/vsftpd/vsftpd.conf配置文件中。
# 開啟虛擬用戶登陸功能 guest_enable=YES # 將虛擬用戶與宿主用戶對應 guest_username=ftpuser # pam認證文件(該配置默認存在) pam_service_name=vsftpd # vsftpd增強了安全檢查,如果用戶被限定在了其主目錄下,則該用戶的主目錄不能再具有寫權限了,所以要加入下面配置 allow_writeable_chroot=YES
6.給每一個虛擬用戶建立單獨的配置文件。
若想給每一個虛擬用戶都建立單獨的配置文件,則需要在主配置文件中加入
user_config_dir=/etc/vsftpd/config
指定虛擬用戶的配置文件路徑。接下來給兩個虛擬用戶建立各自的配置文件:
# ftptest1虛擬用戶的配置文件 # 創建虛擬用戶家目錄 # mkdir /home/vsftp/ftptest1 # chown ftpuser:ftpuser /home/vsftp/ftptest1/ # 建立配置文件 # mkdir /etc/vsftpd/config # vim /etc/vsftpd/config/ftptest1 <=== 虛擬用戶各自配置文件和自己的用戶名對應起來 # 指定家目錄 local_root=/home/vsftp/ftptest1 # 允許相關權限 download_enable=yes anon_upload_enable=yes anon_other_write_enable=YES anon_mkdir_write_enable=yes anon_world_readable_only=no # 設置最大傳輸速度,單位b/s anon_max_rate=100000
注意:目前還沒給ftptest2虛擬用于建立單獨的配置文件,那么對于此用戶就使用主配置文件的配置(/etc/vsftpd/vsftpd.conf)
關于linux運維之如何搭建出符合自己要求的vsftp服務就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。