在 CentOS 7 上配置 vsftpd 时,可以通过以下步骤来设置用户权限:
- 首先,确保已经安装了 vsftpd。如果没有安装,可以使用以下命令安装:
sudo yum install vsftpd
- 创建一个新用户或编辑现有用户的
/etc/passwd
文件。例如,创建一个名为ftpuser
的新用户:
sudo useradd -m ftpuser sudo passwd ftpuser
按照提示输入密码并确认。
- 为新用户创建一个 home 目录:
sudo mkdir /home/ftpuser
- 设置新用户的默认 shell:
sudo chsh ftpuser /sbin/nologin
这将阻止用户通过 FTP 登录,但允许他们通过其他方式访问其主目录。
- 打开 vsftpd 配置文件进行编辑:
sudo vi /etc/vsftpd/vsftpd.conf
- 在配置文件中,找到以下设置并进行相应的更改:
- 将
local_enable=YES
设置为YES
,以允许本地用户登录。 - 将
write_enable=YES
设置为YES
,以允许登录用户上传文件。 - 将
chroot_local_user=YES
设置为YES
,以限制用户仅能访问其主目录。 - 如果需要允许匿名用户访问,请将
anonymous_enable=YES
设置为YES
。
-
保存并退出配置文件。
-
重启 vsftpd 服务以应用更改:
sudo systemctl restart vsftpd
现在,已经成功设置了 CentOS 7 上 vsftpd 的用户权限。新创建的用户 ftpuser
可以登录到其主目录,但无法访问其他用户的目录或系统文件。如果需要允许匿名用户访问,可以根据需要调整配置文件中的设置。