虚拟机搭建ftp环境

引用http://www.cnblogs.com/xiangxiaodong/archive/2013/12/23/3487028.html,学习。

本人是在windows8系统下,Oracle VM VirtualBox虚拟机的CentOS6.2下安装的FTP服务器,虚拟机启用了网卡桥接连接方式,(如果网卡NAT方式,需要启动FTP被动模式)操作流程如下:

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 -P ftpd_disable_trans 1;

此时又出现错误:

Could not change active booleans: Invalid boolean

需要将ftp_home_dir设置为on,重启vsftpd。

setsebool -P  ftp_home_dir 1

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

用户列表文件:/etc/passwd

用户组列表文件:/etc/group

8,添加ftp用户指令

 useradd -d /opt/reconciliation -s /sbin/nologin -g ftpGroup -G root ftpUser

        解析:

              useradd 添加用户ftpUser

              -d 指定用户根目录为/opt/reconciliation

              -s 指定shell脚本为/sbin/nologin,表示不允许shell登录

              -g 创建分组ftpGroup

              -G 指定root分组

        PS:创建有问题可以删除重新创建 userdel -r ftpUser

原文地址:https://www.cnblogs.com/usa007lhy/p/4827816.html