在centos下创建ftp用户

没有捷径,逼迫自己!推掉不必要的社交,戒掉浪费时间的爱好,让自己感受到孤独和清醒,一把枪指着头,三个月内必须达到预想的目标,一件事,一件可以让自己更上一个台阶的事,会比无数看似有趣的生活妙招更让你喜欢自己!

安装

说明本教程基于centos6.5配置

安装:

1
2
yum list |grep vsftp
yum install vsftpd.x86_64 -y

检查开机自启:

1
chkconfig vsftpd on

vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
这里的0-6 指的是系统的启动级别,意思是 当 系统在 3 ,命令行界面的方式下会自动开启
设置自启动:

1
chkconfig vsftpd on

启动:

1
service vsftpd start

配置文件路径:

1
/etc/vsftpd/

创建用户

1
2
useradd ftpuser
passwd ftpuser

这样新创建的用户可以通过ssh 直接登录到我们的系统
禁止用户访问22端口

ssh 配置

配置文件路径 /etc/ssh

1
vi /etc/ssh/sshd_config

添加

1
DenyUsers ftpuser

这样 ftpuser 这个用户就无法通过ssh远程登录服务器了

同样我们可以在创建用户的时候就指定该用户不可以通过shh登录

1
useradd myftp -s /sbin/nologin

限制ftpuser的登录目录

我们使用刚才创建的帐号通过类似 winscp 这样的工具可以方便的登录到我们的ftp服务器,登录以后默认的目录是改用户的家目录, 但是该ftp用户可以切换到任何一目录, 非常的不安全, 我们就需要限制改ftp的访问目录, 比如我们限制的我们的网站跟目录下 /var/www/alidayu/:
修改用户默认登入时的目录:

1
usermod -d /var/www/alidayu myftp

修改

1
vi /etc/vsftpd/vsftpd.conf
1
chroot_local_user=YES

重启

1
service vsftpd restart

这样用户就被限制到自己的默认目录;

修改默认端口

ftp服务的默认端口: 21

编辑 /etc/vsftpd/vsftpd.conf 文件,在该配置文件中添加此行:

1
listen_port=801

编辑 /etc/services 文件,将其中的

1
2
ftp 21/tcp 改为 ftp 801/tcp
ftp 21/udp 改为 ftp 801/udp

执行

1
2
3
/etc/init.d/vsftpd restart 
//或者
service vsftpd restart

重新启动 vsftpd 服务

在centos 7.x 上的配置

配置

1
2
3
4
5
6
7
8
yum install -y vsftpd
#安装vsftpd
yum install -y psmisc net-tools systemd-devel libdb-devel perl-DBI
#安装vsftpd虚拟用户配置依赖包
systemctl start vsftpd.service
#启动
systemctl enable vsftpd.service
#设置vsftpd开机启动

错误无法启动

由于centos7中vsftp的配置文件默认将 listen_ipv6=YES 这一行没有注释掉,而我们目前的网络环境还不支持ipv6,从而导致出现错误无法启动,所以解决方法是将 listen_ipv6=YES更改为:listen_ipv6=NO,或将这一行注释掉

按上面的方法注释掉 listen_ipv6=YES后,成功启动vsftp