bash
yum install vsftpd
useradd xh
passwd xh
为了确保用户 xh
拥有 /home/xh
目录的正确权限,可以使用以下命令:
-
更改目录的所有者和用户组 :
确保
/home/xh
目录的所有者和用户组都设置为xh
:bashsudo chown -R xh:xh /home/xh
-
设置目录权限 :
赋予
/home/xh
目录读、写和执行权限:bashsudo chmod -R 755 /home/xh
这些命令将确保用户 xh
对其主目录 /home/xh
拥有完全的访问权限。
以下是完整的 vsftpd.conf
配置文件内容,并包含对各项配置的中文注释:
conf
# 禁用匿名FTP登录。此设置确保只有注册用户才能登录FTP服务器。
anonymous_enable=NO
# 允许本地用户登录。启用此设置后,系统中的本地用户可以使用他们的用户名和密码登录FTP服务器。
local_enable=YES
# 允许FTP用户进行写操作。这意味着用户可以在服务器上上传文件、创建目录等。
write_enable=YES
# 启用目录消息功能。当用户进入某个目录时,会显示相应的消息。
dirmessage_enable=YES
# 启用上传和下载日志记录。所有上传和下载操作都会记录在日志文件中。
xferlog_enable=YES
# 确保PORT模式下的数据连接来自端口20(ftp-data)。这是一种安全措施,确保数据连接来源正确。
connect_from_port_20=YES
# 将本地用户限制在他们的主目录内。这可以提高安全性,防止用户访问系统的其他部分。
chroot_local_user=YES
# 禁用chroot列表。如果启用,chroot列表将定义哪些用户不受chroot_local_user设置的限制。
chroot_list_enable=NO
# 启用独立模式下的监听。服务器将在IPv4套接字上监听连接。
listen=YES
# 设置PAM(可插拔认证模块)服务名称,以便检测系统包为vsftpd指定的认证设置。
pam_service_name=vsftpd
# 允许在chroot环境中写入。此设置允许用户在被chroot的目录中进行写操作。
allow_writeable_chroot=YES
# 设置上传文件的所有者为用户xh。所有上传的文件将归用户xh所有。
chown_username=xh
# 设置服务器监听的端口为29852。这是FTP服务器将使用的端口。
listen_port=29852
# 设置用户的根目录为/home/xh。用户登录后将直接进入该目录。
local_root=/home/xh
# 启用被动模式。被动模式下,服务器会告诉客户端需要连接的端口。
pasv_enable=YES
# 设置被动模式下使用的最小端口为29852。
pasv_min_port=29852
# 设置被动模式下使用的最大端口为29900。
pasv_max_port=29900
# 设置被动模式下使用的外部IP地址。客户端将连接到此IP地址进行数据传输。
pasv_address=公网ip
重启 vsftpd 服务
在修改配置文件后,保存文件并重启 vsftpd 服务以使更改生效:
bash
sudo systemctl restart vsftpd
确保目录权限
最后,确保用户 xh
对 /home/xh
目录拥有正确的权限:
bash
sudo chown -R xh:xh /home/xh
sudo chmod -R 755 /home/xh
通过以上步骤,用户 xh
应该能够在 FTP 服务器上正常工作,并且拥有对 /home/xh
目录的完全访问权限。