引用http://www.cnblogs.com/xiangxiaodong/archive/2013/12/23/3487028.html,学习。
本人是在Oracle VM VirtualBox下的CentOS6.2下进行操作的。操作流程如下:
1,以管理员(root)身份执行以下命令,安装FTP服务器端
yum install vsftpd
2设置开机启动vsftpd ftp服务
chkconfig vsftpd on
3、启动vsftpd服务
service vsftpd start
管理vsftpd相关命令:
停止vsftpd: service vsftpd stop
重启vsftpd: service vsftpd restart
配置防火墙(此处没有配置,也没有关闭防火墙,vsftpd可以生效)
打开/etc/sysconfig/iptables文件
vi /etc/sysconfig/iptables
在REJECT行之前添加如下代码
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
保存和关闭文件,重启防火墙
service iptables start
4,安装FTP客户端
yum install ftp
5,为ftp添加用户
/usr/sbin/adduser -d /opt/ftp_user -g ftp -s /sbin/nologin ftp_user;
测试客户端是否联通ftp服务器,ftp ip,输入用户名,密码。连接成功;
(由于ftp的默认根目录是/opt目录,如果我们想把根目录改为其他地方,可能引起安装失败。比如:
5,为ftp添加用户
/usr/sbin/adduser -d /home/ftp_user -g ftp -s /sbin/nologin ftp_user;
测试客户端是否联通ftp服务器,ftp ip,输入用户名,密码。连接失败;错误信息是:
500 OOPS: cannot change directory
这是因为selinux阻止了对其他目录的访问了,运行指令,解除selinux 对ftp的限制,
setsebool ftpd_disable_trans 1;
此时又出现错误:
Could not change active booleans: Invalid boolean
需要将ftp_home_dir设置为on,重启vsftpd。
setsebool ftp_home_dir=1(此处每次关机都失效,开启电脑后需要重新修改,所以建议将根目录放到非/home下面)
service vsftpd restart
查看下修改是否生效:
sestatus -b| grep ftp
再次连接,显示成功;)
6,卸载vsftpd
rpm -aq vsftpd
显示安装的vsftpd版本,此处是vsftpd-2.2.2-14.el6.x86_64
rpm -e vsftpd-2.2.2-14.el6.x86_64
用rpm -e 查找结果 进行删除就ok了。
warning: /etc/vsftpd/user_list saved as /etc/vsftpd/user_list.rpmsave
warning: /etc/vsftpd/ftpusers saved as /etc/vsftpd/ftpusers.rpmsave #删除时将备份vsftp的用户列表文件。
看下是否卸载了vsftpd,进行stop及start操作:
/sbin/service vsftpd stop vsftpd: unrecognized service #找不到vsftpd
/sbin/service vsftpd start vsftpd: unrecognized service #找不到vsftpd记住,在卸载vsftpd之前,先停止vsftpd
7,安装过程中用到的Linux指令:
userdel -f test
添加用户组 groupadd ftp;
改变文件所有者:chown -R ftp_user blog
改变文件所在群组:chgrp -R ftp blog