Linux中怎么添加/删除FTP用户并设置权限

来源:AI大模型作者:坚哥头衔:草根站长
导读:本期聚焦于小伙伴创作的《Linux中怎么添加/删除FTP用户并设置权限》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《Linux中怎么添加/删除FTP用户并设置权限》有用,将其分享出去将是对创作者最好的鼓励。

Linux系统中管理FTP用户通常基于vsftpd服务实现,通过系统用户配合配置文件调整,就能完成用户的增删和权限设置,满足不同场景的文件传输需求。

Linux中怎么添加/删除FTP用户并设置权限

环境准备

首先确认vsftpd服务已经安装并正常运行,若未安装可通过对应包管理器安装,以CentOS系统为例:

# 安装vsftpd
yum install vsftpd -y
# 启动服务并设置开机自启
systemctl start vsftpd
systemctl enable vsftpd

添加FTP用户

1. 创建系统用户

FTP用户本质还是Linux系统用户,先创建对应的系统账户,同时可以指定用户的家目录作为FTP访问的根目录:

# 创建用户ftp_user1,指定家目录为/data/ftp/ftp_user1
useradd -d /data/ftp/ftp_user1 ftp_user1
# 设置用户密码
passwd ftp_user1

2. 限制用户仅能访问FTP

为了避免FTP用户登录系统终端,可将用户的shell设置为不可登录的shell:

usermod -s /sbin/nologin ftp_user1

3. 配置用户权限

vsftpd的用户权限配置主要通过主配置文件/etc/vsftpd/vsftpd.conf和用户自身的目录权限共同控制。

首先调整目录权限,设置用户对FTP根目录的读写权限:

# 修改目录所有者为ftp_user1
chown -R ftp_user1:ftp_user1 /data/ftp/ftp_user1
# 设置目录权限,仅所有者有读写执行权限
chmod 700 /data/ftp/ftp_user1

若需要让用户只能访问指定目录,不能切换到上级目录,需要在vsftpd.conf中开启chroot限制:

# 编辑vsftpd配置文件
vim /etc/vsftpd/vsftpd.conf
# 添加或修改以下配置
chroot_local_user=YES
allow_writeable_chroot=YES

修改完成后重启vsftpd服务生效:

systemctl restart vsftpd

4. 黑白名单配置

如果需要限制部分用户不能登录FTP,可以通过用户列表控制,在vsftpd.conf中配置:

# 启用用户列表控制
userlist_enable=YES
# 指定用户列表文件
userlist_file=/etc/vsftpd/user_list
# 若设置为YES,user_list中的用户禁止登录;设置为NO,仅允许user_list中的用户登录
userlist_deny=NO

将允许登录的FTP用户添加到/etc/vsftpd/user_list文件中即可。

删除FTP用户

删除FTP用户需要同时移除系统用户和相关目录,避免残留文件占用空间:

# 删除用户同时删除用户的家目录
userdel -r ftp_user1
# 若之前单独创建了FTP目录,也可手动删除
rm -rf /data/ftp/ftp_user1

如果之前将用户添加到了vsftpd的用户列表中,还需要从/etc/vsftpd/user_list中移除对应用户名。

权限配置注意事项

  • 目录权限不要设置为777,过高的权限会带来安全风险,建议根据实际需求设置700或755。
  • 开启chroot限制后,用户的FTP根目录不能有写权限,否则登录会报错,可在根目录下创建子目录给用户写入,比如创建/data/ftp/ftp_user1/upload目录,设置该子目录可写。
  • 如果FTP服务使用被动模式,需要在vsftpd.conf中配置被动端口范围,同时开放防火墙对应端口。
# 被动模式端口配置示例
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30010

FTPLinuxvsftpd用户权限修改时间:2026-06-16 21:21:31

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。