vsftpd中的userlist_enable和chroot_list_enable配置

一、需求

1.只想让指定的账户能登陆ftp,其它本地账户不允许登陆ftp。

2.只想让指定的账户不限制在其主目录,其它账户都限制在其主目录。

二、让指定的账户能登陆ftp,其它本地账户不允许登陆ftp。

为验证效果我们建两个用户TOM和JIM,并且只把TOM添加到user_list列表里面,并且设置anonymous_enable=NO 拒绝匿名登录。配合使用userlist_enable 和userlist_deny ,每次更改完配置文件后都要重启服务 /etc/init.d/vsftpd restart。现在我们来进行访问测试。

1.userlist_enable=YES,userlist_deny=YES

  窗口(有登录框,TOM不允许登录,JIM允许登录)
  命令(tom输入用户名后被拒绝,jim允许登录)

2.userlist_enable=NO,userlist_deny=NO

  窗口(TOM和JIM都允许登录)
  命令(TOM和JIM都允许登录)

3.userlist_enable=YES, userlist_deny=NO

  窗口(无登录框,直接拒绝)
  命令(tom允许登录,jim不允许登录)

4.userlist_enable=NO,userlist_deny=YES

  窗口(TOM和JIM都允许登录)
  命令(TOM和JIM都允许登录)

根据以上测试,发现测试3符合我的要求。下面给出我的vsftpd的配置:

userlist_enable=YES
userlist_deny=No
userlist_file=/etc/vsftpd/user_list_only

user_list_only的文件内容如下:

# cat user_list_only 
hunk
hunkzhu

经测试,只有hunk和hunkzhu可以登录ftp,其它本地账户均拒绝(输入账户名直接拒绝)。以后新增ftp账户只需将该账户加入到/etc/vsftpd/user_list_only中,确保安全,满足个人需求。

三、只想让指定的账户不限制在其主目录,其它账户都限制在其主目录。

对于chroot_local_user与chroot_list_enable的组合效果,可以参考下表:

chroot_local_user=YES chroot_local_user=NO
chroot_list_enable=YES 1.所有用户都被限制在其主目录下
2.使用chroot_list_file指定的用户列表,这些用户作为“例外”,不受限制
1.所有用户都不被限制其主目录下
2.使用chroot_list_file指定的用户列表,这些用户作为“例外”,受到限制
chroot_list_enable=NO 1.所有用户都被限制在其主目录下
2.不使用chroot_list_file指定的用户列表,没有任何“例外”用户
1.所有用户都不被限制其主目录下
2.不使用chroot_list_file指定的用户列表,没有任何“例外”用户

根据以上测试,发现chroot_local_user=YES,chroot_list_enable=YES符合我的要求,下面给出我的vsftpd得配置:

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/nochroot_list
chroot_local_user=YES

nochroot_list的文件内容如下:

# cat nochroot_list
hunk

经测试,只有hunk在登陆后,不被限制在其主目录下。

四、总结

同时配置以上两种之后,该ftp服务器只有hunk和hunkzhu能登陆,而且hunkzhu被限制在其主目录下,hunk不被限制在其主目录下。

时间: 2024-10-08 19:52:11

vsftpd中的userlist_enable和chroot_list_enable配置的相关文章

vsftpd中关于ftpusers和user_list两个文件的说明以及vsftpd.conf中的userlist_enable和userlist_deny两个配置项的解释

本文原文出处: http://blog.csdn.net/bluishglc/article/details/42273197严禁任何形式的转载,否则将委托CSDN官方维护权益! 问题一:ftpusers和user_list两个文件各自的用途是什么?有何关系? 首先请明确一点:ftpusers不受任何配制项的影响,它总是有效,它是一个黑名单!该文件存放的是一个禁止访问FTP的用户列表,通常为了安全考虑,管理员不希望一些拥有过大权限的帐号(比如root)登入FTP,以免通过该帐号从FTP上传或下载

ftp协议详解与vsftpd在linux上的安装配置

什么是FTP? FTP,文件传输协议,可以实现在网络上传输多种类型的文件 一个完整的FTP文件传输需要建立两种类型的连接,先建立控制连接,然后建立数据连接 控制连接:客户端首先向服务端的TCP21号端口发起建立连接的请求,服务器接收请求,完成控制连接的建立 数据连接:控制连接建立后,开始建立数据连接,用于传输文件.数据连接有主动传输模式和被动传输模式. 主动传输模式图 被动传输模式图 主动传输和被动传输的优缺点: 1.主动传输对FTP服务器的管理有利,但对客户端不利,因为客户端的防火墙可能会禁止

Ubuntu中Nginx的安装与配置

Ubuntu中Nginx的安装与配置 1.Nginx介绍 Nginx是一个非常轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和 反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器. 2.对PHP支持 目前各种web 服务器对PHP的支持一共有三种: (1)通过web 服务器内置的模块来实现,例如Apache的mod_php5,类似的Apache内置的mod_perl 可以对perl支持. (2)通过CGI来实现,这个就好比之前per

使用反射创建Bean、Spring中是如何根据类名配置创建Bean实例、Java提供了Class类获取类别的字段和方法,包括构造方法

Java提供了Class类,可以通过编程方式获取类别的字段和方法,包括构造方法 获取Class类实例的方法: 类名.class 实例名.getClass() Class.forName(className) public class RefTest { @Test public void testRef(){ //Class cls = RefTest.class; //Class.forName("com.jboa.service.RefTest"); //new RefTest()

Mysql中主从复制的原理、配置过程以及实际案例

Mysql中主从复制的原理.配置过程以及实际案例1.什么是主从复制?原理:主从分离,什么意思呢?我们不妨画个图看看.如图1所示: 2.准备工作:预备两台服务器,我这里使用虚拟机安装了两个Centos6.7_64位操作系统,并分别在两台服务器上安装mysql.我的IP地址分别为:192.168.1.15/192.168.1.16,这里我定义15为主服务器,16为从服务器.首先,我们编辑主服务器中mysql配置文件.(因我的mysql使用非root用户安装,因此配置文件放在/home/formal/

Zend Studio 中导出 PHP 语法颜色配置

Zend Studio 中,虽然可以自行配置 PHP 语法颜色,但是,没有导出配置的按钮.介个,总不能每次都配置一次吧,那不是累死伦家啦?有图有真相: 强迫症患者总是无法停止折腾,虽然内心总有个声音不停地喊,折腾这干嘛?浪费时间嘛!但是,不折腾怎么显出生命的存在?最终,总算给我找到方法了: “File/Export...”菜单: 弹出的对话框中,选择"General/Preferences" 然后,然后就是保存出文件.然后就是导入.然后就是强迫症治愈.然后,就没有然后了. 最后,祝偶尔

【Java_SSM】(三)maven中的配置文件setting的配置

这篇博文我们介绍两方面:如何修改setting.xml文件及相应配置(本文maven版本为3.5.0) (1)首先打开maven文件目录--conf,会看见如下目录 (2)复制setting.xml文件,粘贴至默认目录C:\用户\用户名\.m2文件中 对于初学者在安装配置好maven之后,发现目录下不存在.m2文件夹,其原因是因为没有执行任何maven相关的命令,之后执行之后maven才会自动去创建.m2文件夹.具体步骤如下: 打开doc在cmd命令下执行mvn help:system命令 (3

springmvc中针对一个controller方法配置两个url请求

springmvc中针对一个controller方法配置两个url请求 标签: spring mvc孙琛斌 2015-12-10 17:10 2189人阅读 评论(0) 收藏 举报  分类: Spring(8)  版权声明:本文为博主原创文章,未经博主允许不得转载. 记录一个小知识点. 某些应用场景>..你可能需要不同的url请求得到相同的结果,那么你写两个方法总是不太好的,使用下面的方法可以解决这个问题. @RequestMapping(value = { "/item/index.ht

CentOS7中防火墙的一些常用配置

# 启动 systemctl start firewalld # 查看状态 systemctl status firewalld # 停止关闭 systemctl disable firewalld systemctl stop firewalld # 把一个源地址加入白名单,以便允许来自这个源地址的所有连接 # 这个在集群中使用常见 # 设置后利用firewall-cmd --reload更新防火墙规则 firewall-cmd --add-rich-rule 'rule family="ip