Ubuntu 安装 proftpd,并添加虚拟用户

安装并配置 proftpd

安装就不废话了,apt 即可。然后修改 /etc/proftpd/proftpd.conf:

# 必须打开,将用户限定在自己的目录中
DefaultRoot                     ~

# 因为虚拟用户是没有 shell 的,所以要打开这个设定
RequireValidShell               off

# 用 mod_auth_file.c 验证登录用户名和密码
AuthOrder                       mod_auth_file.c

# 存放用户名和密码的文件
AuthUserFile                    /etc/proftpd/ftpd.passwd

# 允许下载时断点续传
AllowRetrieveRestart on

# 允许上传时断点续传
AllowStoreRestart on

# 客户端登录时不显示服务器信息
ServerIdent off

添加虚拟用户

执行命令:

ftpasswd --file=/etc/proftpd/ftpd.passwd --home=/home/xxxx \
         --shell=/bin/false --name=xxxx \
         --uid=1111 --gid=1111 --passwd

这个命令执行后,会要求输入登录密码,连续输入两次即可。

命令中,–home 指定 ftp 用户登录后的根目录,–name 指定 ftp 用户名。而 uid 和 gid 则指定这个 ftp 用户对应哪一个系统用户和组。

例如 www-data 是用于 apache2 的系统用户,其 uid 和 gid 是 33。那么下列命令将建立一个名为 www 的 ftp 用户:

ftpasswd --file=/etc/proftpd/ftpd.passwd --home=/var/www \
         --shell=/bin/false --name=www --uid=33 --gid=33 --passwd

在 ftp 中用 www 用户登录后,所有上传的文件,其所有者和所属组,都会是系统的 www-data 用户。


### 安装ProFTPD 在Linux系统上安装ProFTPD可以通过包管理器进行,例如在基于Debian的系统(如Ubuntu)或基于Red Hat的系统(如CentOS)上。以下是具体的安装步骤: 对于基于Debian的系统,可以使用以下命令安装ProFTPD: ```bash sudo apt-get update sudo apt-get install proftpd ``` 对于基于Red Hat的系统,可以使用以下命令安装ProFTPD: ```bash sudo yum install proftpd ``` ### 配置ProFTPD 安装完成后,需要编辑ProFTPD的主配置文件以适应特定的需求。对于大多数Linux发行版,这个配置文件通常位于`/etc/proftpd.conf`或`/etc/proftpd/proftpd.conf`。使用您喜欢的文本编辑器打开该文件,例如使用`nano`或`vi`: ```bash sudo nano /etc/proftpd/proftpd.conf ``` 在配置文件中,可以根据需要调整各种设置。例如,为了配置虚拟用户,可以在配置文件中添加如下内容: ``` # 虚拟用户配置文件 AuthUserFile /etc/ftpd.passwd AuthGroupFile /etc/ftpd.group # 关闭检测/etc/shells RequireValidShell off # 禁止PAM认证 PersistentPasswd off AuthPAM off # 日志存放路径 SystemLog /var/log/proftpd/proftpd.log AuthPAMConfig proftpd # 设置仅使用虚拟用户认证 AuthOrder mod_auth_file.c ``` ### 启动和管理ProFTPD服务 配置完成后,确保启动ProFTPD服务,设置为开机启动。对于使用`systemd`的系统,可以使用以下命令: ```bash sudo systemctl start proftpd sudo systemctl enable proftpd ``` 检查服务状态以确保一切正常: ```bash sudo systemctl status proftpd ``` ### 创建虚拟用户 为了创建虚拟用户,您可以使用`ftpasswd`工具来生成密码文件。首先,创建用户组,然后创建用户: ```bash sudo fgroup -g 2001 ftpusers sudo fpasswd -c -u ftpuser -g ftpusers -h /home/ftpuser -s ``` 以上命令创建了一个名为`ftpusers`的组和一个名为`ftpuser`的用户[^3]。 ### 防火墙设置 如果系统启用了防火墙,还需要允许FTP流量通过。对于`ufw`防火墙,可以使用以下命令: ```bash sudo ufw allow 20/tcp sudo ufw allow 21/tcp ``` 对于`firewalld`,可以使用以下命令: ```bash sudo firewall-cmd --permanent --add-port=20-21/tcp sudo firewall-cmd --reload ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值