1:创建用户

useradd xiong  -d /var/xiong  -s /sbin/nologin  #添加用户
passwd xiong        #添加密码

2:添加不可用的shell

echo /sbin/nologin >> /etc/shells


3:修改vsftpd.conf

vim  /etc/vsftp/vsftpd.conf
chroot_local_user=YES  #将使用者限制在自己的家目录之内
chroot_list_enable=YES  #是否启用将某些实体用户限制在他们的家目录内
chroot_list_file=/etc/vsftpd/chroot_list #这个文件内用户的都会限制在自己的家目录


4;修改selinux策略

setsebool -P  ftp_home_dir 1  #允许ftp访问家目录
setsebool  allow_ftpd_full_access 1  #允许ftp进行读写


5:修改iptables 防火墙

vim /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
#自己看着添加上去
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  #这个想要进入的封包是否为刚刚我发出去的回应? 如果是刚刚我发出去的回应,那麼就可以予以接受放行
ESTABLISHED:已建立的链接状态。
RELATED:该封包为本机发出的封包有关。
-A INPUT -p icmp -j ACCEPT  #是否允许ping
-A INPUT -i lo -j ACCEPT    #回环地址全部允许
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT  #ssh
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT  #http
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT  #ftp
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT #https
-A INPUT -j REJECT --reject-with icmp-host-prohibited  # 余下的任何TCP协议的数据包都将被拒绝,发送方会收到一条TCP重置消息(RST)。这是连接到一个没有listening服务的端口时,TCP协议的正常反应。
  这样之后,剩余的所有包都由策略来处理以及丢弃。我还应当添加一条规则来以类似的标准方法处理UDP:返回一个ICMP端口无法到达的消息。
-A FORWARD -j REJECT --reject-with icmp-host-prohibited  #如上
COMMIT