Linux添加FTP用户并设置权限

我的未来我决定 提交于 2020-03-01 21:57:35

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后将直接进入改密界面

在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后将直接进入改密界面

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!