CentOS7部署vsftpd服務


1、查看是否已經安裝了vsftpd

vsftpd -version

2、安裝vsftpd(CentOS7

yum install -y vsftpd

3、新建FTP目錄

創建的FTP目錄如下:

/data/KodServer/data/User/tomas/home

4、創建新用戶

ftpname為你為該ftp創建的用戶名,/data/KodServer/data/User/tomas/home 為登錄進去后的位置

useradd -d /data/KodServer/data/User/tomas/home -s /bin/bash ftpname

5、為新建的用戶設置密碼

passwd ftpname

【備注:用cat etc/passwd可以查看當前系統用戶】

6、設置主目錄(更改登錄時看到的目錄,看個人需要更改,如果第4步已設置好,此步可忽略)

usermod -d /data/KodServer/data/User/tomas/home ftpname

7、添加用戶組(這步可忽略)

groupadd ftpgroup

8、防火牆添加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

9、配置只能訪問自身目錄(/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


免責聲明!

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



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