vsftpd用户配置 No.2

本文详细介绍了如何通过yum安装VSFTPD,并配置虚拟用户及权限。包括编辑vsftpd.conf文件,设置用户锁定跟目录,创建用户目录及配置用户权限等步骤。

在配置ftp虚拟用户的过程中,还有一种配置方式。

yum -y install 安装vsftpd

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak


编辑vsftpd.conf

开启下列选项:

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

anon_mkdir_write_enable=NO

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

chown_uploads=NO

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

ascii_upload_enable=YES

ascii_download_enable=YES

ftpd_banner=Welcome to blah FTP service.

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

listen=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

use_localtime=YES

pasv_enable=YES

user_config_dir=/etc/vsftpd/vsftpd_user_conf

具体配置的注释可以参考上篇文章的注释。


因为我们上边配置文件设置了用户锁定跟目录:因此我们在配置文件目录下创建的chroot_list 就是我们的ftp用户。

touch chroot_list

在/etc/vsftpd/下创建用户目录

创建ftp用户  useradd -m -d /home/test test -s /sbin/nologin   并设置密码!

mkdir  vsftpd_user_conf  

cd vsftpd_user_conf  touch 用户文件

cmds_allowed=FEAT,REST,CWD,LIST,MDTM,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST,MKD

最后我们在用户文件中配置ftp用户权限,重启vsftpd服务即可!



这里插入一个权限的说明文档,是我在网上找的!

              vsftpd cmds_allowed 权限控制

cmds_allowed=ABOR,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,RMD,RNFR…………

注意:一定不能使用换行和空格,不然就没效果..

CWD - change working directory 更改目录
LIST - list remote files 列目录
MKD - make a remote directory 新建文件夹
NLST - name list of remote directory
PWD - print working directory 显示当前工作目录
RETR - retrieve a remote file 下载文件
STOR - store a file on the remote host 上传文件

DELE - delete a remote file 删除文件
RMD - remove a remote directory 删除目录
RNFR - rename from 重命名
RNTO - rename to 重命名

# ABOR - abort a file transfer 取消文件传输
# CWD - change working directory 更改目录
# DELE - delete a remote file 删除文件
# LIST - list remote files 列目录
# MDTM - return the modification time of a file 返回文件的更新时间
# MKD - make a remote directory 新建文件夹
# NLST - name list of remote directory
# PASS - send password
# PASV - enter passive mode
# PORT - open a data port 打开一个传输端口
# PWD - print working directory 显示当前工作目录
# QUIT - terminate the connection 退出
# RETR - retrieve a remote file 下载文件
# RMD - remove a remote directory
# RNFR - rename from
# RNTO - rename to
# SITE - site-specific commands
# SIZE - return the size of a file 返回文件大小
# STOR - store a file on the remote host 上传文件
# TYPE - set transfer type
# USER - send username


# less common commands:
# ACCT* - send account information
# APPE - append to a remote file
# CDUP - CWD to the parent of the current directory
# HELP - return help on using the server
# MODE - set transfer mode
# NOOP - do nothing
# REIN* - reinitialize the connection
# STAT - return server status
# STOU - store a file uniquely
# STRU - set file transfer structure
# SYST - return system type

本文转自岁月丶倾城博客51CTO博客,原文链接http://blog.51cto.com/alca0126/1775228如需转载请自行联系原作者


laihuadongcto

<think>嗯,用户现在问的是关于vsftpd配置文件中anonymous_enable=NO的含义和作用。首先,我需要回顾一下之前用户的问题和我之前的回答。用户之前询问的是如何阻断vsftpd的日志记录,我详细介绍了相关的配置选项,比如xferlog_enable、dual_log_enable等,还提到了系统级日志和防火墙的影响。现在用户的新问题转向了匿名访问的配置,这属于用户访问控制的范畴。 根据用户提供的引用内容,特别是引用[1]和[2],里面提到了ftpusers和user_list的配置,以及userlist_enable和userlist_deny的作用。不过用户现在的问题是anonymous_enable=NO,这应该与匿名用户访问有关。引用[3]中提到在开启匿名访问时,需要将匿名用户ftp加入到vsftpd.user_list中,否则会出现权限问题。而用户现在的情况是anonymous_enable=NO,也就是禁用匿名访问。 首先,我需要明确anonymous_enable参数的作用。根据vsftpd的文档,这个参数控制是否允许匿名用户登录。设置为NO时,匿名用户无法访问FTP服务器。这可以增强安全性,因为匿名访问通常不需要认证,容易被滥用。不过,用户可能需要确认是否真的需要禁用匿名访问,或者是否有其他用户需要被允许访问。 然后,我需要检查用户提供的引用内容是否有相关的信息。引用[3]中提到了修改配置文件以允许匿名用户访问,并需要将匿名用户ftp加入user_list。但用户现在的情况是禁用匿名访问,所以需要确保其他用户能够正常登录。同时,引用[1]和[2]中的内容关于用户列表的管理,可能需要结合userlist_enable和userlist_deny来设置白名单或黑名单,但anonymous_enable=NO的情况下,这些设置可能影响的是本地用户的访问。 另外,引用[4]提到vsftpd以standalone模式运行,这可能与服务的运行方式有关,但和匿名访问的关系不大。不过,用户可能需要确保在修改配置后正确重启服务,比如使用systemctl restart vsftpd,这和之前的回答中提到的一致。 接下来,用户的问题可能存在的深层需求是什么?可能用户希望加强FTP服务器的安全性,所以禁用匿名访问。或者他们在配置过程中遇到了匿名用户无法登录的问题,所以想了解这个参数的作用。需要进一步考虑,用户是否在设置过程中遇到了权限问题,或者在测试时发现匿名用户仍然可以访问,可能需要检查其他相关配置。 还需要注意,当anonymous_enable=NO时,匿名用户无法登录,但本地用户或其他虚拟用户的访问是否受影响?根据引用[1],ftpusers文件总是生效,所以即使匿名被禁用,本地用户如果在ftpusers或user_list中被拒绝,仍然无法登录。因此,用户需要确保他们的本地用户不在这些黑名单中,或者正确配置了userlist_enable和userlist_deny。 另外,用户可能混淆了匿名用户和本地用户配置。需要明确说明anonymous_enable只影响匿名登录,不影响其他用户的访问控制。同时,可能需要提醒用户,如果启用了匿名访问,还需要设置anon_root等参数来指定匿名用户的根目录,但禁用的话这些参数可能不需要配置。 最后,生成相关问题的时候,应该围绕匿名访问的配置、与其他用户控制参数的关系、如何验证配置生效等方面展开。例如,如何允许特定本地用户访问,或者如何同时禁用匿名并启用本地用户登录,或者如何排查匿名用户仍然可以访问的问题等。</think>### VSFTPD 配置项 `anonymous_enable=NO` 的详细说明 #### 核心作用 在 `vsftpd.conf` 配置文件中,参数 **`anonymous_enable=NO`** 表示 **完全禁用匿名用户访问 FTP 服务**。匿名用户指无需密码即可登录 FTP 的公共账户(默认用户名为 `anonymous` 或 `ftp`)[^4]。 --- #### 配置含义与影响 1. **基础安全加固** 启用此配置后,任何尝试以匿名身份登录的行为均会被拒绝,例如: ```bash ftp> open 192.168.1.100 Name: anonymous 530 Permission denied. ``` 该设置常用于生产环境,避免未授权用户通过匿名账户上传或下载敏感文件[^1][^2]。 2. **与其他访问控制的关系** - **优先级高于用户列表规则** 即使 `userlist_enable=YES` 且 `userlist_deny=NO`(白名单模式),匿名用户仍无法登录,因为 `anonymous_enable=NO` 直接关闭了匿名通道[^3]。 - **不影响本地用户登录** FTP 服务的本地用户(如系统真实账户)仍可通过用户名和密码正常访问,除非被 `ftpusers` 或 `user_list` 明确禁止[^1][^2]。 3. **与匿名目录的关联** 若后续需重新启用匿名访问,需同时配置匿名用户根目录(如 `anon_root=/var/ftp`),但本参数设为 `NO` 时,相关匿名目录配置自动失效。 --- #### 典型应用场景 | 场景 | 配置示例 | 说明 | |-----------------------|---------------------------------------------|-----------------------------| | 企业内网文件服务器 | `anonymous_enable=NO` + `local_enable=YES` | 仅允许认证员工访问 | | 合规审计环境 | 结合 `xferlog_enable=YES` | 禁用匿名且记录所有操作日志 | --- #### 配置验证步骤 1. 修改配置文件后重启服务: ```bash sudo systemctl restart vsftpd ``` 2. 尝试匿名登录测试: ```bash ftp -n <服务器IP> <<EOF user anonymous pass test@example.com EOF ``` 3. 观察返回结果应为 **`530 Permission denied`**(成功阻断)[^3]。 --- ### 关键注意事项 1. **与其他参数的冲突** 若配置文件中存在 `anon_upload_enable=YES` 或 `anon_mkdir_write_enable=YES`(匿名写权限),需确保这些参数已被注释或删除,否则可能引发配置矛盾[^4]。 2. **系统默认值差异** 部分 Linux 发行版(如 Ubuntu)的默认配置可能已包含 `anonymous_enable=NO`,需通过 `grep anonymous_enable /etc/vsftpd.conf` 确认当前状态。 --- ### 相关问题 1. 如何同时禁用匿名登录并启用本地用户访问? 2. 如果设置了 `anonymous_enable=NO`,但匿名用户仍能登录,可能是什么原因? 3. 匿名访问被禁用后,如何通过日志确认配置生效?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值