1、配置:
首先安装vsftp:
yum install vsftpd -y
2、设置防火墙
编辑/etc/sysconfig/iptables文件,添加如下2行:
-A INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 20 -j ACCEPT
必须在/etc/sysconfig/iptables-config文件中添加如下信息:
IPTABLES_MODULES="ip-nat-ftp"
否则提示:
500 OOPS:cannot change directory:/home/xxx/xxx
执行service iptables start
3、设置selinux
先用getsebool -a | grep ftp 查看下当前信息.
其中以下两项需要开启:
setsebool -P ftp_home_dir=1
sersebool -P allow_ftpd_full_access=1
ftp_home_dir :它解决了”500 OOPS:cannot change directory:/home/doc login failed“的问题
allow_ftpd_full_access: 它解决了能下载但不能上传的问题
4、下面是添加ftpuser用户,设置根目录为/home/wwwroot/ftpuser,禁止此用户登录SSH的权限,并限制其访问其它目录。
a、修改/etc/vsftpd/vsftpd.conf
将底下三行
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/chroot_list
改为
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
b、增加用户ftpuser,指向目录/home/wwwroot/ftpuser,禁止登录SSH权限。
useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser
c、设置用户口令
passwd ftpuser
d、编辑文件chroot_list:
vi /etc/vsftpd/chroot_list
内容为ftp用户名,每个用户占一行,如:
iitsahre
itblood
e、重新启动vsftpd
service vsftpd restart