ubuntu

Ubuntu FTP服务器如何设置用户

小樊
50
2025-10-06 17:46:19
栏目: 云计算

Ubuntu FTP服务器用户设置指南(基于vsftpd)

vsftpd(Very Secure FTP Daemon)是Ubuntu上最流行的FTP服务器软件,以下是设置FTP用户的详细步骤:

1. 安装vsftpd

首先更新系统软件包列表并安装vsftpd:

sudo apt update
sudo apt install vsftpd

2. 配置vsftpd

编辑vsftpd的主配置文件/etc/vsftpd.conf(使用nano或vim):

sudo nano /etc/vsftpd.conf

关键配置项说明(取消注释或添加):

3. 创建FTP用户

方法1:创建系统用户作为FTP用户

# 创建用户(按提示设置密码及其他信息,如全名、邮箱)
sudo adduser ftpuser
# 设置用户密码(若创建时未设置)
sudo passwd ftpuser

方法2:创建专用FTP用户(无Shell登录)

若需禁止用户通过SSH登录,可将用户的Shell设为/sbin/nologin

sudo useradd -m -s /sbin/nologin ftpuser  # -m创建家目录,-s指定Shell
sudo passwd ftpuser

4. 设置用户目录权限

FTP用户的主目录需归属该用户,且权限正确(确保vsftpd可访问):

# 设置家目录归属
sudo chown ftpuser:ftpuser /home/ftpuser
# 设置目录权限(755允许用户读写执行,其他用户仅读执行)
sudo chmod 755 /home/ftpuser
# 若需允许用户上传文件,需将家目录设为可写(775)
sudo chmod 775 /home/ftpuser

5. 配置用户列表(可选,限制访问用户)

若需精确控制哪些用户可以登录FTP,需编辑/etc/vsftpd.user_list

# 创建或清空用户列表文件
sudo nano /etc/vsftpd.user_list
# 添加允许登录的用户名(每行一个)
ftpuser
anotheruser

注意:需配合userlist_enable=YESuserlist_deny=NO(允许列表中的用户登录)。

6. 重启vsftpd服务

配置完成后,重启服务使更改生效:

sudo systemctl restart vsftpd
# 设置开机自启(可选)
sudo systemctl enable vsftpd

7. 配置防火墙(若启用)

若服务器启用了UFW防火墙,需开放FTP端口(默认21)及被动模式端口范围(如50000-50010):

# 开放FTP控制端口(21)
sudo ufw allow 21/tcp
# 开放被动模式端口范围
sudo ufw allow 50000:50010/tcp
# 重新加载防火墙规则
sudo ufw reload

8. 测试FTP连接

使用FTP客户端(如FileZilla)连接服务器:

连接后,尝试上传、下载文件,验证权限是否正常。

可选:增强安全性(SSL/TLS加密)

若需加密FTP传输,可配置vsftpd使用SSL/TLS:

# 安装vsftpd SSL模块
sudo apt install vsftpd-ssl
# 编辑配置文件,启用SSL
sudo nano /etc/vsftpd.conf
# 添加以下配置
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
# 生成SSL证书(有效期365天)
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
# 重启vsftpd
sudo systemctl restart vsftpd

通过以上步骤,即可在Ubuntu上成功设置FTP服务器用户,并根据需求调整权限和安全性。

0
看了该问题的人还看了