1.卸載vsftpd
sudo yum remove vsfftpdhtml
2.安裝vsftpd
yum -y install vsftpdlinux
3.在/usr/local/devtools目錄建立ftpfile文件夾
[root@xupan001 devtools]# pwd
/usr/local/devtools
[root@xupan001 devtools]# mkdir ftpfileshell
4.建立用戶,只對ftpfile有權限,而且沒有登錄權限
[root@xupan001 ~]# cd /usr/local/devtools/ftpfile/
[root@xupan001 ftpfile]# ll
total 0
[root@xupan001 ftpfile]# sudo useradd ftpuser -d /usr/local/devtools/ftpfile/ -s /sbin/nologin vim
-d:指定用戶登入時的主目錄,替換系統默認值/home/<用戶名>
-s:指定用戶登入後所使用的shell。默認值爲/bin/bash。bash
對/sbin/nologin的理解
系統帳號的shell使用 /sbin/nologin ,此時沒法登錄系統,即便給了密碼也不行。 所謂「沒法登錄」指的僅是這個用戶沒法使用bash或其餘shell來登錄系統而已,並非說這個帳號就沒法使用系統資源。rest
5.賦值權限
sudo chown -R ftpuser.ftpuser /usr/local/devtools/ftpfile/htm
6.查看權限
[root@xupan001 devtools]# ll | grep ftpfile
drwxr-xr-x 2 ftpuser ftpuser 4096 Jun 1 12:30 ftpfile
用戶名和用戶組都是ftpusertoken
7.重置密碼
[root@xupan001 devtools]# passwd ftpuser
Changing password for user ftpuser.
New password:
BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfullyip
8.建立文件
[root@xupan001 ftpfile]# vim index.htmlci
9.添加內容
[root@xupan001 ftpfile]# vim index.html
here is ftpfile
/usr/local/devtools/ftpfile/index.html
10.配置vsftpd
[root@xupan001 ftpfile]# whereis vsftpd
vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz
11.編輯配置文件
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
ftpd_banner=Welcome to xpshop FTP service.
local_root=/usr/local/devtools/ftpfile
#anno_root=/usr/local/devtools/ftpfile
use_localtime=yes
chroot_local_user=NO
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_lis
pasv_min_port=61001
pasv_max_port=62000
12.添加文件chroot_list,並編輯文件添加f t pu se r
vim /etc/vsftpd/chroot_list
13.防火牆設置
vim /etc/sysconfig/iptables
#vsftpd
-A INPUT -p TCP --dport 61001:62000 -j ACCEPT
-A OUTPUT -p TCP --sport 61001:62000 -j ACCEPT
-A INPUT -p TCP --dport 21 -j ACCEPT
-A OUTPUT -p TCP --dport 21 -j ACCEPT
-A INPUT -p TCP --dport 20 -j ACCEPT
-A OUTPUT -p TCP --dport 20 -j ACCEPT
13.重啓防火牆和vsftpd
[root@xupan001 ~]# service iptables restart
iptables: Applying firewall rules: [ OK ]
[root@xupan001 ~]# service vsftpd restart
Shutting down vsftpd: [FAILED]
Starting vsftpd for vsftpd: [ OK ]
14.修改vim /etc/selinux/config
#SELINUX=enforcing
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
15.使之生效 sudo setenforce 0