以下摘自:http://www.cnblogs.com/itech/archive/2012/09/16/2687378.html,根据我的环境稍有不同。
vsftpd(vsftpd 的名字代表”very secure FTP daemon”,安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。)
1、使用yum安装vsftpd服务
yum -y install vsftpd
2、由于我的环境是CentOS7.0 所以启动服务的方式有所不同,不再是service xxx start了,而是:
/bin/systemctl start vsftpd.service
3、配置文件: /etc/vsftpd/vsftpd.conf
我改动了以下几点:
1)注释了anonymous_enable=yes 不允许匿名登录
2)设置chroot_list_enable=NO 禁止所有用户切换主目录之外的目录,配合默认的chroot_local_user=YES 一并使用
3)在最末增加以下几行:
#更改默认监听端口为2121
listen_port=2121
#启用被动模式
pasv_enable=yes
#分别设置被动模式最小和最大端口号
pasv_min_port=5000
pasv_max_port=6000
-----------------------------------------------------------------------------
其他的配置含义如下:
在linux中添加ftp用户,并设置相应的权限,操作步骤如下:
1、环境:ftp为vsftp。被限制用户名为test。被限制路径为/home/test
useradd -d /home/test test //增加用户test,并制定test用户的主目录为/home/test
passwd test //为test设置密码
3、更改用户相应的权限设置:
usermod -s /sbin/nologin test //限定用户test不能telnet,只能ftp
usermod -s /sbin/bash test //用户test恢复正常
usermod -d /test test //更改用户test的主目录为/test
4、限制用户只能访问/home/test,不能访问其他路径
修改/etc/vsftpd/vsftpd.conf如下:
chroot_list_enable=YES //限制访问自身目录
# (default follows)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
编辑 vsftpd.chroot_list文件,将受限制的用户添加进去,每个用户名一行
改完配置文件,不要忘记重启vsFTPd服务器
[root@linuxsir001 root]# /etc/init.d/vsftpd restart
5、如果需要允许用户修改密码,但是又没有telnet登录系统的权限:
usermod -s /usr/bin/passwd test //用户telnet后将直接进入改密界面
1、更改主目录权限:
chmod a-w /home/user
或
chmod 755 /home/user
2、更改vsftp配置,设置:
allow_writeable_chroot=YES
并重启vsftp即可
第一种方法,可能会造成不能实际的上传文件了,即便ftp软件上看到是上传成功的。
所以一般采用第二种方式,鉴于安全性的考虑,ftp用户的主目录会单独设置一个专门用于ftp操作的目录,不一定在/home下,即创建用户时就设置其主目录为ftp专用的目录
原文链接:https://www.f2er.com/centos/381437.html