一、查看是否已經安裝了vsftpdlinux
vsftpd -version
二、安裝vsftpd(CentOS7)shell
yum install -y vsftpd
三、新建FTP目錄centos
建立的FTP目錄以下:bash
/data/KodServer/data/User/tomas/home
四、建立新用戶服務器
ftpname爲你爲該ftp建立的用戶名,/data/KodServer/data/User/tomas/home 爲登陸進去後的位置ssh
useradd -d /data/KodServer/data/User/tomas/home -s /bin/bash ftpname
五、爲新建的用戶設置密碼centos7
passwd ftpname
【備註:用cat etc/passwd能夠查看當前系統用戶】rest
六、設置主目錄(更改登陸時看到的目錄,看我的須要更改,若是第4步已設置好,此步可忽略)code
usermod -d /data/KodServer/data/User/tomas/home ftpname
七、添加用戶組(這步可忽略)ci
groupadd ftpgroup
八、防火牆添加FTP服務
firewall-cmd --permanent --zone=public --add-service=ftp firewall-cmd --reload
解決辦法:
①、查看ftp的Selinux狀態:sestatus -b | grep ftp
②、在結果中能夠看到: ftp_home_dir off
③、將狀態改成on:setsebool -P ftp_home_dir on
④、重啓vsftp服務:systemctl restart vsftpd.service
setsebool -P ftpd_full_access on systemctl restart firewalld.service
九、配置只能訪問自身目錄(/data/KodServer/data/User/tomas/home),不能訪問其餘路徑
修改/etc/vsftpd.conf
cd /etc/vsftpd/ vi vsftpd.conf #去掉前面的註釋 chroot_local_user=YES ascii_upload_enable=YES ascii_download_enable=YES #文件末尾添加 allow_writeable_chroot=YES
保存,重啓vsftpd
設置開機啓動:
systemctl enable vsftpd.service
啓動vsftpd服務
systemctl start vsftpd.service
禁止ftp用戶經過22端口登陸ftp服務器:
因爲須要限制ftp用戶在本身的目錄,在21端口下沒有問題,但當ftp用戶用sftp登陸時,仍是能夠訪問上級目錄,因而禁止ftp用戶ssh登陸,切斷22端口的通訊。
首先,執行以下命令,找到nologin的shell:
vi /etc/shells
能夠看到禁止登陸的shell文件爲/usr/sbin/nologin,而後執行以下命令:
usermod -s /usr/sbin/nologin tomas
若是要恢復tomas的ssh登陸,執行以下命令:
usermod -s /bin/bash tomas