Linux FTP vsftpd用户管理

来源:互联网 发布:c语言应用领域 编辑:程序博客网 时间:2024/06/05 19:29

vsftp 服务器的用户有两种

1.匿名用户

 不需要密码,可以直接访问ftp服务器的公开资料,通常只允许下载一般用于共享一些资料。

         用户名:anonymous (有些版本可以为空)

密码:(空)

登陆后的默认路径: /var/ftp

2.系统用户

        系统中的普通用户和超级用户

         用户名:user(系统中的用户名 或者 root)

        密码: 和系统中一致

       登陆后的默认路径: /home/user


用户访问控制:

访问控制 设置 在vsftpd 的配置文件中,默认路径为: /etc/vsftpd/vsftpd.conf (修改前最好先备份)

上边写的 两种用户是否能正常访问 FTP服务器 都受配置文件的控制。


配置文件中与用户控制有关的字段如下:

anonymous_enable   匿名用户访问许可 YES 表示允许匿名访问,NO 表示不能匿名访问(或者直接用#注释掉)

local_enable = YES 允许本地用户访问

       write_enable = YES 允许上传


#anon_upload_enable=YES    允许匿名用户上传

#anon_mkdir_write_enable=YES  允许匿名用户创建目录   此两项一般情况下 都设置为禁止


userlist_enable = YES

        userlist_feny = YES

        userlist_file = /etc/vsftpd/user_list 

      /etc/vsftpd/user_list 文件中指定的用户不能访问FTP服务器

例如 : 按照以上配置,我将Kevin用户写入 /etc/vsftpd/user_list , 当再用Kevin用户登录时会显示如下提示,没有权限,登陆失败。

     

      此外还有一个 限制用户登录的 文件 /etc/vsftpd/ftpusers, 当Kevin被写入 /etc/vsftpd/ftpusers(没有写入/etc/vsftpd/user_list)时,用Kevin登陆会是如下提示:

    

       userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list

       当按照以下配置时只有写入 user_list的用户才能访问FTP服务器。

    即使是root也不例外。

这里有一个有意思的问题:当userlist_deny = NO  Kevin 用户写入 user_list 的同时 也写入 ftpusers中 会是什么情况?具体情况如下:

按照 /etc/vsftpd/ftpusers 文件的限制 禁止用户登录。

chroot 限制

 当用普通用户登录FTP 服务器的时候 会发现  cd /  的时候 是可以切换到Linux的根目录的,如下:

是非常危险的, 此时 pwd 会发现 你是可以看到整个文件系统的(有权限的)

chroot_local_user=YES  在FTP服务中,用户把自己的宿主目录当作根目录,及其他目录是可不见的,设置过程如下

[root@Mr vsftpd]# vi ./vsftpd.conf

将 的注释取消掉,再登陆FTP服务器 pwd 会发现 自己的 宿主目录编程了 根目录。

设置指定的用户不执行chroot

创建 /etc/vsftpd/chroot_list 文件,并将Kevin写入,退出保存,重启vsftpd服务器后,使用Kevin用户登录FTP pwd

发现 自己仍然是在 自己的宿主目录下,并没有把自己的宿主目录当作是根目录。

其他一些配置项

ftpd_banner=Welcome to the FTP service.  //登陆FTP服务器时的欢迎信息,(可以掩盖使用的ftp服务器的版本)

如下为没有欢迎信息,及注释掉 ftpd_banner=    

       

      如下是没有注释掉的情况

     


idle_session_timeout=600   #10分钟无操作,将自动断开连接

max_clients=50  #总的并发连接数为50

max_per_ip=3 #每台客户机的最大连接数为3

listen_port=10010   #指定非标准端口 , 此时登陆时需要 ftp 192.168.176.128:10010

anon_max_rate=100000  #匿名用户最大传输速率为100KB/s


xferlog_enable=YES  #打开FTP记录日志

xferlog_std_format=YES     #日志采用标准格式

xferlog_file=/var/log/xferlog #日志保存位置

     



0 0