安装vsftpd
yum install vsftpd
配置vsftpd
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO //是否允许匿名用户登陆FTP。
chroot_local_user=YES //限制访问目录范围,只能访问主目录及下属的文件
dirmessage_enable=YES //切换目录时,显示目录下.message文件中的内容 默认是开启的
local_umask=022 //没有什么特殊情况不用修改。 FTP上本地的文件权限,默认是077,不过vsftpd安装后的配置文件里默认是022. xferlog_enable=YES //启用上传和下载的日志功能,默认开启。 //建议开启此功能,它可以对用户的操作进行日志记录,当出现问题的时候可以通过日志排查问题。
ftpd_banner=XXXX //FTP的欢迎信息。
data_connection_timeout=120 //数据连接超时时间。
重启vsftpd
service vsftpd restart //测试成功后,最好永久关闭防火墙
创建FTP用户
修改完vsftpd的配置文件之后我们还是不能使用vsftpd,因为我们还没有设置ftp的用户。
添加一个名为ftpuser的用户,用户文件夹位置为:/home/wwwroot/folder,且禁止此用户登陆服务器:
mkdir -r /home/wwwroot/folder
chmod 777 /home/wwwroot/folder // 服务文件夹读取写入的权限
useradd -d /home/wwwroot/folder -g ftp -s /sbin/nologin ftpuser
// useradd: 添加用户的命令
// /home/wwwroot/folder : FTP的目录,上传下载文件存储目录
// -g ftp : 加入ftp用户组
// sbin/nologin : 禁止用户登录系统,只能使用FTP服务
// ftpuser : 创建的用户名
passwd ftpuser //设置ftpuser密码
关闭防火墙
service iptables stop
安装ftp客户端
6.x版本的执行:
安装成功ftp命令就可以用了.
ftp 主机Ip
ftp> mkdir mm //创建mm文件夹
// 报错 550 Create directory operation failed
解决方案一:
1、查看 SELinux 的状态:sestatus -b | grep ftp 确切地说,只是查看了ftp的状态。
2、在出现的结果中可以看到 ftp_home_dir off
tftpd_disable_trans off
之类。我们现在只要把其中之一设置为on就可以啦。
3、 setsebool -P ftpd_disable_trans on 或者 setsebool -P ftp_home_dir on
4、 重启vsftpd: service vsftpd restart
解决方案二:
是SELinux(Security-Enhanced Linux----是美国国家安全局对于强制访问控制的实现, 是Linux 上最杰出的新安全子系统.)安装机制搞的鬼.只要disable SELinux就可以了.
PS: 关闭SELinux方法
[root ~]# vim /etc/selinux/config
将 SELINUX=XXX -->XXX 代表级别
改为
SELINUX=disabled
重启就OK了!
设置开机自启动
chkconfig vsftpd on
FTP客户端开始连接吧