(1)配置linux2为FTP服务器,安装vsftpd,新建本地用户test,本地用户登陆 ftp 后的目录为/var/ftp/pub,可以上传下载。 (2)配置 ftp 虚拟用户认证模式,虚拟用户 ftp1 和 ftp2 映射为ftp,ftp1 登录 ftp 后的目录为/var/ftp/vdir/ftp1,可以上传下载,禁止上传后缀名为.docx 的文件;ftp2 登录 ftp 后的目录为/var/ftp/vdir/ftp2,仅有下载权限。
时间: 2024-01-07 08:05:21 浏览: 111
linux安装vsftpd配置FTP服务器
为了完成这个任务,首先需要在 Linux 系统上安装 vsftpd 服务。以 Ubuntu 系统为例,可以通过以下命令安装 vsftpd:
```
sudo apt-get update
sudo apt-get install vsftpd
```
安装完成后,可以使用以下命令启动 vsftpd 服务:
```
sudo systemctl start vsftpd
```
接下来,按照以下步骤配置 FTP 服务器和虚拟用户认证模式。
**1. 配置 FTP 服务器**
在 vsftpd 的配置文件中,可以设置本地用户和 FTP 虚拟用户的目录、权限等信息。可以使用以下命令打开 vsftpd 配置文件:
```
sudo nano /etc/vsftpd.conf
```
在文件中添加以下内容:
```
# 允许本地用户登录FTP
local_enable=YES
chroot_local_user=YES
# 本地用户的FTP目录为/var/ftp/pub
local_root=/var/ftp/pub
# 禁止上传后缀名为.docx的文件
user_config_dir=/etc/vsftpd/user_conf
local_umask=022
file_open_mode=0644
anon_upload_enable=NO
deny_file={*.docx}
# 启用虚拟用户
virtual_use_local_privs=YES
guest_enable=YES
guest_username=ftp
user_sub_token=$USER
local_root=/var/ftp/vdir/$USER
listen=YES
tcp_wrappers=YES
```
以上配置中,`local_enable` 表示允许本地用户登录 FTP,`chroot_local_user` 表示限制本地用户只能访问自己的家目录,`local_root` 表示本地用户的 FTP 目录为 /var/ftp/pub。
`user_config_dir` 表示虚拟用户的配置文件存放的目录,`local_umask` 表示虚拟用户上传文件的默认权限,`file_open_mode` 表示虚拟用户下载文件的默认权限,`anon_upload_enable` 表示禁止匿名用户上传文件,`deny_file` 表示禁止上传后缀名为 .docx 的文件。
`virtual_use_local_privs` 表示虚拟用户使用本地用户的权限,`guest_enable` 表示启用虚拟用户,`guest_username` 表示虚拟用户的用户名,`user_sub_token` 表示虚拟用户的用户名与目录名的映射关系,`local_root` 表示虚拟用户的 FTP 目录为 /var/ftp/vdir/$USER。
保存并关闭文件后,重新启动 vsftpd 服务:
```
sudo systemctl restart vsftpd
```
**2. 配置 FTP 虚拟用户认证模式**
在 vsftpd 的配置文件中,需要为每个虚拟用户单独配置用户名和密码。可以使用以下命令创建虚拟用户的配置文件:
```
sudo mkdir /etc/vsftpd/user_conf
sudo nano /etc/vsftpd/user_conf/ftp1
```
在文件中添加以下内容:
```
local_root=/var/ftp/vdir/ftp1
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
deny_file={*.docx}
```
以上配置中,`local_root` 表示虚拟用户 ftp1 的 FTP 目录为 /var/ftp/vdir/ftp1,`write_enable` 表示允许虚拟用户 ftp1 上传文件,`anon_world_readable_only` 表示不限制虚拟用户 ftp1 的下载权限,`anon_upload_enable` 表示禁止虚拟用户 ftp1 上传文件,`anon_mkdir_write_enable`、`anon_other_write_enable` 表示禁止虚拟用户 ftp1 创建目录和写入文件,`deny_file` 表示禁止上传后缀名为 .docx 的文件。
保存并关闭文件后,再创建并编辑虚拟用户 ftp2 的配置文件:
```
sudo nano /etc/vsftpd/user_conf/ftp2
```
在文件中添加以下内容:
```
local_root=/var/ftp/vdir/ftp2
write_enable=NO
anon_world_readable_only=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
```
以上配置中,`local_root` 表示虚拟用户 ftp2 的 FTP 目录为 /var/ftp/vdir/ftp2,`write_enable` 表示禁止虚拟用户 ftp2 上传文件,`anon_world_readable_only` 表示限制虚拟用户 ftp2 的下载权限,`anon_upload_enable`、`anon_mkdir_write_enable`、`anon_other_write_enable` 表示禁止虚拟用户 ftp2 上传文件、创建目录和写入文件。
保存并关闭文件后,重新启动 vsftpd 服务:
```
sudo systemctl restart vsftpd
```
这样,就完成了 Linux 系统上 vsftpd 的 FTP 服务器和虚拟用户认证模式的配置。
阅读全文