Linux 下搭建ftp服務

記錄一下操作步驟:

參考博客:https://www.cnblogs.com/Sungeek/p/10148656.html

#防火牆:
啓動:systemctl start firewalld
關閉:systemctl stop firewalld
查看:systemctl status firewalld
開機禁止:systemctl disable firewalld
開機啓用:systemctl enable firewalld
開放端口:firewall-cmd --zone=public --add-port=8085/tcp --permanent
關閉端口:firewall-cmd --zone=public --remove-port=8085/tcp --permanent
配置生效:firewall-cmd --reload

1、查詢安裝包

rpm -qa |grep vsftpd

2、安裝vsftpd

yum install vsftpd -y

查看版本:vsftpd -v

3、啓動服務

systemctl start vsftpd 

4、查看端口監聽

netstat -nultp | grep 21

5、配置ftp

vim /etc/vsftpd/vsftpd.conf

#是否允許匿名,默認no
anonymous_enable=NO

#這個設定值必須要爲YES 時,在/etc/passwd內的賬號才能以實體用戶的方式登入我們的vsftpd主機
local_enable=YES

#具有寫權限
write_enable=YES

#本地用戶創建文件或目錄的掩碼
local_umask=022

#當dirmessage_enable=YES時,可以設定這個項目來讓vsftpd尋找該檔案來顯示訊息!您也可以設定其它檔名!
dirmessage_enable=YES

#當設定爲YES時,使用者上傳與下載日誌都會被紀錄起來。記錄日誌與下一個xferlog_file設定選項有關
xferlog_enable=YESxferlog_std_format=YES

#上傳與下載日誌存放路徑
xferlog_file=/var/log/xferlog 

#開啓20端口
connect_from_port_20=YES

#關於系統安全的設定值:
#ascii_download_enable=YES(NO)
#如果設定爲YES ,那麼 client 就可以使用 ASCII 格式下載檔案。
#一般來說,由於啓動了這個設定項目可能會導致DoS 的攻擊,因此預設是NO。
#ascii_upload_enable=YES(NO)
#與上一個設定類似的,只是這個設定針對上傳而言!預設是NO。
ascii_upload_enable=NO
ascii_download_enable=NO
#通過搭配能實現以下幾種效果: 
#①當chroot_list_enable=YES,chroot_local_user=YES時,在/etc/vsftpd.chroot_list文件中列出的用戶,可以切換到其他目錄;未在文件中列出的用戶,不能切換到其他目錄。 
#②當chroot_list_enable=YES,chroot_local_user=NO時,在/etc/vsftpd.chroot_list文件中列出的用戶,不能切換到其他目錄;未在文件中列出的用戶,可以切換到其他目錄。 
#③當chroot_list_enable=NO,chroot_local_user=YES時,所有的用戶均不能切換到其他目錄。 
#④當chroot_list_enable=NO,chroot_local_user=NO時,所有的用戶均可以切換到其他目錄。

chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

allow_writeable_chroot=YES

#這個是pam模塊的名稱,我們放置在/etc/pam.d/vsftpd
pam_service_name=vsftpd

#當然我們都習慣支持TCP Wrappers的啦!
tcp_wrappers=YES

#不添加下面這個會報錯:500 OOPS: vsftpd: refusing to run with writable root inside chroot()
allow_writeable_chroot=YES

#ftp的端口號
listen_port=22
#啓動被動式聯機(passivemode)
pasv_enable=YES
#上面兩個是與passive mode 使用的 port number 有關,如果您想要使用65400到65410 這 11 個 port 來進行被動式資料的連接,可以這樣設定
pasv_min_port=6000
pasv_max_port=10000

#FTP訪問目錄
local_root=/opt/ftp/

6、重啓vsftpd服務

systemctl restart vsftpd 

7、創建ftp用戶,限制其登錄

useradd  -d /opt/ftp/ -s /sbin/nologin ftpUser

刪除用戶:userdel -r ftpUser

設置密碼:passwd ftpUser

設置用戶訪問權限:chown -R ftpUser /opt/ftp

8、SElinux配置

getsebool -a | grep ftp

setsebool -P ftpd_full_access=on

setenforce 0 :關閉selinux
setenforce 1 :開啓selinux

9、開機自啓

chkconfig vsftpd on

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章