1、查看Linux系统是否已经安装了vsftpd软件:rpm -qa|grep vsftpd;
2、我这里是没有安装,所以yuminstall vsftpd -y来安装;
3、启动ftp:service vsftpd start;
4、创建一个用户,这时就遇到问题了,按照我在网上找的步骤
#useradd testwww
#passwd testwww 即可完成创建用户(注意这里对密码长度和格式有一定的要求,但是只有包含字母和数字且6位以上应该就没啥问题。)
(1)首先创建完以后在cmd登录提示500 OOPS: cannot change directory:/home/test**错误,在网上查说“需要创建目录以及赋予权限”
所以就执行了如下一系列操作:
0: 删除原来已有的test
userdel test;
rm -rf /home/test; (可选,要是手动建了这个目录)
1:添加用户
useradd -m -d /home/test -s /bin/sh -g root test 2:修改密码 passwd test 3:修改/home目录赋予同组用户的读写权限 chmod 775 /home
然而并卵用,问题依然存在500 OOPS: cannot change directory:/home/test
(2)继续寻找解决办法,,,找到了:原因是CentOS系统安装了SELinux,因为默认下是没有开启FTP的支持,所以访问时都被阻止了。
操作如下:
//查看SELinux设置
# getsebool -a|grep ftp
ftpd_disable_trans –> off
或者
ftp_home_dir–>off(我的)
//使用setsebool命令开启
# setsebool ftpd_disable_trans 1
或者
# setsebool ftp_home_dir 1(我的) //查看当前状态是否是on的状态
# getsebool -a|grep ftp
ftpd_disable_trans –> on
或者
ftp_home_dir–>on(我的) //setsebool使用-P参数,无需每次开机都输入这个命令
# setsebool -P ftpd_disable_trans 1
或者
# setsebool -P ftp_home_dir 1(我的)
5、然后登录成功了~~~
6、附录:
(1)是用vsftpd软件主要命令:
启动ftp命令#service vsftpd start
停止ftp命令#service vsftpd stop
重启ftp命#service vsftpd restart
(2)vsftpd的配置
ftp的配置文件主要有三个,位于/etc/vsftpd/目录下,分别是:
- ftpusers 该文件用来指定那些用户不能访问ftp服务器。
- user_list 该文件用来指示的默认账户在默认情况下也不能访问ftp
- vsftpd.conf vsftpd的主配置文件
(3)以匿名用户登录
我们去掉配置文件vsftpd.conf 里面以下
- 1
- 2
- 1
- 2
两项前面的#号,就可以完成匿名用户的配置,此时匿名用户既可以登录上传、下载文件。记得修改配置文件后需要重启服务。
(4)useradd命令参数说明:useradd [-u uid | -g group] | -d dir | -s shell | -c comment | -m [-k skel_dir] ] login
说明:
u 指定用户ID号
g 制定所在组
d 指定用户目录
s 制定用户SHELL
c 用户的注释
m 建立用户目录
login 用户的登录名