write_enable、chroot_local_user、anon_upload_enable),控制FTP用户的登录、文件传输及目录操作权限。其作用范围仅限于FTP服务相关操作。CentOS系统权限:
chmod(数字/符号模式,如755、u+x)设置文件/目录的rwx权限,区分所有者、所属组及其他人;chown(修改所有者/组)、chgrp(修改所属组)调整资源归属;setfacl/getfacl(访问控制列表)为特定用户/组设置额外权限(如允许用户A对目录B有读写权限,而用户C无权限);chmod u+s(SUID,执行时以所有者权限运行)、chmod g+s(SGID,目录下新文件继承组权限)、chmod +t(Sticky Bit,目录下仅所有者可删除文件)实现特殊场景控制。VSFTP权限:
write_enable(是否允许上传/删除)、anon_upload_enable(匿名用户是否允许上传)、cmds_allowed(限制用户可使用的FTP命令,如仅允许LIST、STOR)控制文件操作;chroot_local_user(是否将用户限制在主目录,YES则用户无法访问主目录外资源)、chroot_list_enable(指定例外用户,允许其突破chroot限制)控制目录访问范围;anon_world_readable_only(匿名用户是否只能下载可读文件)、anon_mkdir_write_enable(匿名用户是否允许创建目录)、anon_other_write_enable(匿名用户是否允许删除/重命名)设置匿名访问权限;user_config_dir(如/etc/vsftpd/user_conf)为每个虚拟用户创建单独配置文件(如admin用户设置local_root=/home/ftp、write_enable=YES,download用户设置anon_world_readable_only=YES、write_enable=NO),实现不同用户的差异化权限。CentOS系统权限:
chmod、chown等命令修改后,立即生效;setenforce 1开启强制模式)或ACL(如setfacl -m u:user1:rwx /path)动态调整权限;umask设置,默认022则文件权限为644)。VSFTP权限:
/etc/vsftpd/vsftpd.conf(主配置文件)或用户单独配置文件(如/etc/vsftpd/user_conf/admin),修改后需重启服务(systemctl restart vsftpd)生效;local_enable=YES允许本地用户登录,anonymous_enable=NO禁止匿名访问),不受系统权限直接影响(如FTP用户无法访问系统目录,即使其系统账户有权限)。| 维度 | CentOS系统权限 | VSFTP权限 |
|---|---|---|
| 作用对象 | 操作系统所有用户、文件及目录 | FTP用户通过FTP协议访问的资源 |
| 控制粒度 | 支持rwx权限、所有权、SELinux、ACL、特殊权限(SUID/SGID/Sticky) | 支持基础文件操作、目录限制、匿名用户权限、单用户配置 |
| 生效机制 | 命令修改后立即生效,受系统策略动态调整 | 配置文件修改后需重启服务,由vsftpd服务驱动 |
| 影响范围 | 影响系统所有操作(如登录、编辑文件、运行程序) | 仅影响FTP服务相关操作(如上传、下载、目录浏览) |