一.ftp 创建用户
passwd: user 'ftpuser' does not exist
如果你遇到 passwd: user 'ftpuser' does not exist
的错误,这意味着系统中不存在名为 ftpuser
的用户。你需要首先确认FTP用户是否是系统用户,还是FTP服务器软件(如Pure-FTPd)使用虚拟用户。如果你的FTP服务器使用系统用户,那么你需要先创建该用户。
创建系统用户
如果你确定要使用系统用户作为FTP用户,可以按照以下步骤创建用户并设置密码:
-
创建系统用户:
sudo useradd -m ftpuser
-
设置用户密码:
sudo passwd ftpuser
这将创建一个新的系统用户 ftpuser
并为其设置密码。
二 . Failed to start vsftpd.service: Unit vsftpd.service is masked.
错误:使用 sudo systemctl start vsftpd 查询ftp服务器状态时出错
Failed to start vsftpd.service: Unit vsftpd.service is masked.
解决步骤:
当你遇到 Failed to start vsftpd.service: Unit vsftpd.service is masked.
错误时,这意味着 vsftpd
服务被屏蔽了。你需要先取消屏蔽,然后再启动该服务。
取消屏蔽 vsftpd 服务
-
取消屏蔽 vsftpd 服务:
sudo systemctl unmask vsftpd
-
启动 vsftpd 服务:
sudo systemctl start vsftpd
-
启用 vsftpd 服务,使其在系统启动时自动启动:
sudo systemctl enable vsftpd
检查 vsftpd 服务状态
确保服务已经启动并在运行:
sudo systemctl status vsftpd
编辑vsftpd配置文件
需求:确保客户端能进行上传和创建文件夹的权限,如何修改配置文件
1.打开vsftpd配置文件:
sudo nano /etc/vsftpd.conf
2. 修改配置文件以启用上传和创建文件夹的功能
在配置文件中,确保以下配置项设置正确:
-
启用写权限:
write_enable=YES
该选项允许写操作(上传文件)。
-
启用本地用户:
local_enable=YES
该选项允许本地用户登录。
-
启用本地用户的写权限:
local_umask=022
该选项设置本地用户上传文件的权限掩码。
022
掩码会使文件的默认权限为755
(所有者有读写执行权限,其他用户只有读执行权限)。 -
启用目录创建权限:
file_open_mode=0755
该选项设置新文件和目录的默认权限。
-
启用用户的FTP根目录:
chroot_local_user=YES
该选项将用户限制在其主目录中,增强安全性。
-
启用用户进行写操作(可选):
allow_writeable_chroot=YES
如果你需要允许用户在他们的根目录中进行写操作,可以启用此选项。
3. 保存配置文件并退出编辑器
按 Ctrl+X
退出编辑器,按 Y
确认保存更改,然后按 Enter
返回命令行。
4. 重启vsftpd服务以应用更改
sudo systemctl restart vsftpd