Linux添加FTP用户并设置权限
ftp软件用的是vsftpd。
vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。
vsftpd 的名字代表”very secure FTP daemon”,安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。
准备工作
安装vsftpd
yum install vsftpd
设置开机启动vsftpd ftp服务
chkconfig vsftpd on
打开vsftpd配置文件
vi /etc/vsftpd/vsftpd.conf
需求及配置
1. 不允许匿名访问
anonymous_enable=NO
2. 使用本地帐户进行FTP用户登录验证
2.1 允许使用本地帐户进行FTP用户登录验证
local_enable=YES
2.2 创建用于FTP登录的本地帐户
增加用户ftpuser,主目录为/home/ftp,禁止登录SSH权限。
useradd -d /home/ftp -g ftp -s /sbin/nologin ftpuser -p password
该命令参考自:CentOS 6.2 ftp 配置。
useradd命令参考文档:Linux的useradd
2.3 只允许刚创建的ftpuser登录FTP
vi /etc/vsftpd/vsftpd.conf
userlist_enable=YES
userlist_deny=NO
vi /etc/vsftpd/user_list
注释所有帐户,添加ftpuser
# vsftpd userlist # If userlist_deny=NO, only allow users in this file # If userlist_deny=YES (default), never allow users in this file, and # do not even prompt for a password. # Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers # for users that are denied. #root #bin #daemon #adm #lp #sync #shutdown #halt #mail #news #uucp #operator #games #nobody ftpuser
配置到这里,就可以远程用FTP客户端登录并上传文件,文件会保存在ftpuser的主目录,也就是/home/ftp。
3. 不允许FTP下载
vi /etc/vsftpd/vsftpd.conf
download_enable=NO
4. 只允许指定的IP才能连接
4.1 安装tcp_wrappers
yum -y install tcp_wrappers
4.2 检查tcp_wrappers是否被设置为YES
vi /etc/vsftpd/vsftpd.conf
tcp_wrappers=YES
4.3 添回允许的IP
vi /etc/hosts.allow
vsftpd:允许的IP地址
4.4 拒绝所有其他的IP
vi /etc/hosts.deny
vsftpd:ALL
在linux中添加ftp用户,并设置相应的权限,操作步骤如下:
1、环境:ftp为vsftp。被限制用户名为test。被限制路径为/home/test
2、建用户,命令行状态下,在root用户下:
运行命令:“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
编辑上面的内容
第一行:chroot_list_enable=YES //限制访问自身目录
第三行:编辑vsftpd.chroot_list。根据第三行说指定的目录,找到chroot_list文件。(因主机不同,文件名也许略有不同)
编辑vsftpd.chroot_list,将受限制的用户添加进去,每个用户名一行
5、重启服务器
改完配置文件,不要忘记重启vsFTPd服务器
运行命令:/etc/init.d/vsftpd restart
6、如果需要允许用户修改密码,但是又没有telnet登录系统的权限:
运行命令:“usermod -s /usr/bin/passwd test” //用户telnet后将直接进入改密界面