CentOS7 搭建 FTP 服務器
經常需要把 window 下的文件傳到 Linux 中, 搭建一個簡單的 ftp 服務器, 簡單使用,性價比高, 棒!
安裝 vdftpd -----:
yum -y install vsftpd
新建登錄 ftp 服務器的賬號:
新建用戶: useradd ftp1
修改用戶密碼: passwd 123
開啟 vsftpd 服務: systemctl start vsftpd.service
關閉 vsftpd 服務: systemctl stop vsftpd.service
設置 SELinux ------
SELinux 設置:
getsebool -a | grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> off
ftpd_connect_db --> off
ftpd_use_passive_mode --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
查詢出上面的信息後執行以下的兩個修改:
setsebool -P allow_ftpd_full_access on
setsebool -P ftp_home_dir on
修改防火墻 ------
防火墻設置: (需要好好了解一下 firewall)
centos7 中 用firewall 替代了 iptables (吐槽一下感覺不同版本的 Linux 都會有或大或小的改變,對於剛入門的(例如 LZ)真的會栽跟頭,很打擊信心啊)
檢查防火墻狀態
firewall-cmd --stat
臨時開放ftp服務
firewall-cmd --add-service=ftp
永久開放ftp服務
firewall-cmd --add-service=ftp --permanent
關閉ftp服務
firewall-cmd --remove-service=ftp --permanent
firewall 開啟端口
firewall-cmd --zone=public --add-port=80/tcp --permanent #添加80端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent #添加3306端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent #添加3306端口
查詢端口開放狀態
firewall-cmd --query-port=80/tcp --zone=public #查詢80端口是否開啟
查看防火墻狀態
systemctl status firewalld.service
啟動防火墻
systemctl start firewalld.service
關閉防火墻
systemctl stop firewalld.service
chroot設置 -----:
登錄 ftp 時出現錯誤: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
在 /etc/vsftpd/vsftpd.conf 文件中, 增加(取消註釋)
chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
修改用戶主目錄使其沒有寫權限 /home/ftp1 :
chmod a-w /home/ftp1
但是出現客戶端不能上傳文件的錯誤
修改用戶主目錄權限 :
chmod -R 755 /home/ftp1
在 /etc/vsftpd/vsftpd.conf 增加
allow_writeable_chroot=YES
本地測試 ftp 登錄連接:
ftp localhost
或 ftp 192.168.191.3 (自己的 ip 地址)
--------------------》 FileZilla , ftp localhost 都連接成功
CentOS7 搭建 FTP 服務器