在Ubuntu上设置FTP服务器并添加用户,通常会使用vsftpd
(Very Secure FTP Daemon)这个流行的FTP服务器软件。以下是添加用户的步骤:
-
安装vsftpd(如果尚未安装): 打开终端,运行以下命令来安装vsftpd:
sudo apt update sudo apt install vsftpd
-
配置vsftpd: 在安装过程中,vsftpd可能会询问你是否要启动服务,选择“Yes”。安装完成后,你可以进一步配置vsftpd。
使用文本编辑器打开vsftpd的配置文件:
sudo nano /etc/vsftpd.conf
在配置文件中,确保以下设置是启用的(取消注释或设置为YES):
local_enable=YES write_enable=YES chroot_local_user=YES allow_writeable_chroot=YES
保存并关闭文件。
-
重启vsftpd服务: 为了使配置生效,重启vsftpd服务:
sudo systemctl restart vsftpd
-
创建FTP用户: 使用
adduser
命令创建一个新的系统用户。这个用户将用于FTP访问。sudo adduser ftpuser
按照提示设置密码和其他信息。这个用户不需要登录shell,所以可以在创建时指定一个非标准的shell,例如
/sbin/nologin
:sudo usermod -s /sbin/nologin ftpuser
-
设置用户目录权限: 确保FTP用户的家目录权限设置正确,以便他们可以访问:
sudo chown ftpuser:ftpuser /home/ftpuser sudo chmod 755 /home/ftpuser
-
配置vsftpd以使用虚拟用户(可选): 如果你想使用不同于系统用户的FTP账户,你可以设置虚拟用户。这需要安装并配置
db-util
和libpam-pwdfile
来管理虚拟用户的密码。安装必要的包:
sudo apt install db-util libpam-pwdfile
创建一个虚拟用户的数据库文件:
sudo touch /etc/vsftpd/virtual_users.txt sudo chmod 666 /etc/vsftpd/virtual_users.txt
使用文本编辑器打开文件,并添加虚拟用户:
sudo nano /etc/vsftpd/virtual_users.txt
添加一行,格式为
username:password
,然后保存并关闭文件。创建一个PAM文件来验证虚拟用户:
sudo touch /etc/pam.d/virtual sudo chmod 644 /etc/pam.d/virtual
使用文本编辑器打开文件,并添加以下内容:
auth required pam_pwdfile.so pwdfile /etc/vsftpd/virtual_users.txt account required pam_permit.so
编辑vsftpd的主配置文件,启用虚拟用户:
sudo nano /etc/vsftpd.conf
添加或修改以下行:
guest_enable=YES guest_username=ftpuser virtual_use_local_privs=YES user_sub_token=$USER local_root=/home/$USER chroot_local_user=YES allow_writeable_chroot=YES
保存并关闭文件。
-
重启vsftpd服务: 再次重启vsftpd服务以应用更改:
sudo systemctl restart vsftpd
现在,你应该能够使用新创建的FTP用户登录到你的FTP服务器了。记得替换ftpuser
为你实际创建的用户名。