centos7.4 開啟ftp服務


1、安裝vsftpd

yum install -y ftp vsftpd

2、配置/etc/vsftpd/vsftpd.conf

修改項如下:

#不允許匿名訪問
anonymous_enable=NO

#限制用戶通過ftp只能訪問自己的主目錄
chroot_local_user=YES
#是否開啟限制名單 chroot_list_enable
=YES #限制名單的路徑 chroot_list_file=/etc/vsftpd/chroot_list

 

3、編輯/etc/vsftpd/chroot_list

內容如下

ftpuser

這里是先將ftpuser這個用戶限制在自己的主目錄中,ftpuser這個用戶需要我們手動創建

 

4、創建用戶

#創建用戶ftpuser,設置其主目錄為/home/ftpuser
useradd -d /home/ftpuser ftpuser

#限定用戶ftpuser不能telnet
usermod -s /sbin/nologin ftpuser

#如果想將用戶恢復正常命令如下
usermod -s /sbin/bash ftpuser

#更改用戶ftpuser的主目錄為/usr/share/nginx/html
usermod -d /usr/share/nginx/html ftpuser 

#設置用戶密碼
passwd ftpuser
#如果將用戶的主目錄設置到某個已有的目錄下,一定要保證該目錄可被該用戶訪問 #可以參考chmod命令相關內容
chmod 666 [目錄路徑]

 

5、調整selinux

selinux的存在可能會導致用戶打開文件夾看到的文件列表為空或者無法進入文件夾,selinux操作方式如下:

setsebool -P ftpd_disable_trans 1

或者

setsebool -P ftp_home_dir on

然后重啟FTP服務

 

以下說明摘自 傳送門

# setsebool -P allow_ftpd_anon_write=1   #允許ftpd匿名用戶可寫
# setsebool -P ftp_home_dir 1   #允許用戶訪問自己的根目錄
# setsebool -P ftpd_is_daemon 1    #允許daemon運行ftpd
# setsebool -P ftpd_disable_trans 1    #關閉SELINUX對ftpd的保護
# setsebool -P allow_httpd_anon_write=1  #允許httpd匿名用戶可寫
# setsebool -P allow_httpd_sys__anon_write=1   #同上
# setsebool -P httpd_enable_cgi 1      #httpd被設置允許cgi被執行
# setsebool -P httpd_enable_homedirs 1    #允許訪問用戶的根目錄
# setsebool -P httpd_tty_comm 1   #允許httpd控制終端
# setsebool -P httpd_unified 0    #httpd之間相互獨立
# setsebool -P httpd_builtin_ing 0    #同httpd環境一樣運行
# setsebool -P httpd_can_network_connect 1   #httpd可以連接到網絡
# setsebool -P httpd_suexec_disable_trans 1   #禁用suexec過度
# setsebool -P httpd_disable_trans 1    #允許daemon用戶啟動httpd
# setsebool -P named_write_master_zones 1    #允許修改dns的主zone文件
# setsebool -P named_disable_trans 1    #允許daemon啟動named
# setsebool -P nfs_export_all_ro 1      #nfs只讀
# setsebool -P nfs_export_all_rw 1      #nfs可讀寫
# setsebool -P use_nfs_home_dirs 1      #允許本機訪問遠程nfs的根目錄
# setsebool -P allow_smbd_anon_write=1   #samba允許匿名用戶可寫
# setsebool -P samba_enable_home_dirs 1   #允許根目錄訪問
# setsebool -P use_samba_home_dirs 1    #允許本機訪問遠程samba根目錄
# setsebool -P smbd_disable_trans 1    #允許daemon啟動samba
# setsebool -P allow_rsync_anon_write=1    #允許匿名用戶可寫
# setsebool -P rsync_disable_trans 1    #允許daemon啟動rsync

 

也可以永久關閉selinux:

vim /etc/selinux/config

改SELINUX=disabled

# 保存退出,重啟服務器

reboot

 

6、防火牆操作

可以直接關閉防火牆:

systemctl stop firewalld
systemctl disable firewalld

如果要保持防火牆常開請注意以下端口的打開

20、21端口,此外還要

1:修改配置文件

vi /etc/vsftpd/vsftpd.conf

2:在末尾添加

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

然后重啟vsftpd服務

上文配置的 30000到31000是Vsftpd被動模式需要的端口,也需要在防火牆中打開

 

部分其它配置說明:

https://blog.csdn.net/bluishglc/article/details/42398811

https://blog.csdn.net/bluishglc/article/details/42273197


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM