任务描述:请采用 FTP 服务器,实现文件安全传输。linux2的IP为10.13.220.102 (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,仅有下载权限。 (3)使用 ftp 命令在本机验证
时间: 2024-03-06 17:51:08 浏览: 22
好的,以下是配置FTP服务器以实现文件安全传输的步骤:
1.安装vsftpd软件包
```
sudo apt-get update
sudo apt-get install vsftpd
```
2.创建本地用户test并设置其目录为/var/ftp/pub
```
sudo useradd -d /var/ftp/pub -s /sbin/nologin test
sudo passwd test
sudo chown nobody:nogroup /var/ftp/pub
sudo chmod a-w /var/ftp/pub
```
3.配置FTP虚拟用户认证模式
安装db-util和pam_pwdfile软件包
```
sudo apt-get install db-util
sudo apt-get install libpam-pwdfile
```
创建虚拟用户数据库文件
```
sudo mkdir /etc/vsftpd
sudo touch /etc/vsftpd/virtual_users.txt
sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
```
在virtual_users.txt文件中添加以下内容:
```
ftp1
password
ftp
ftp2
password
ftp
```
4.配置vsftpd.conf文件
```
sudo nano /etc/vsftpd.conf
```
在文件中添加以下内容:
```
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
virtual_use_local_privs=YES
guest_enable=YES
user_sub_token=$USER
local_root=/var/ftp/pub/$USER
virtual_uid_min=1000
virtual_uid_max=2000
virtual_gid_min=1000
virtual_gid_max=2000
allow_writeable_chroot=YES
pasv_min_port=40000
pasv_max_port=50000
user_config_dir=/etc/vsftpd/users
virtual_alias_maps=/etc/vsftpd/virtual_aliases
```
5.创建虚拟用户配置文件
```
sudo mkdir /etc/vsftpd/users
sudo nano /etc/vsftpd/users/ftp1
```
添加以下内容:
```
local_root=/var/ftp/vdir/ftp1
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=022
```
```
sudo nano /etc/vsftpd/users/ftp2
```
添加以下内容:
```
local_root=/var/ftp/vdir/ftp2
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_umask=022
```
6.创建virtual_aliases文件并添加禁止上传.docx文件
```
sudo nano /etc/vsftpd/virtual_aliases
```
添加以下内容:
```
*.docx
```
7.创建chroot_list文件并添加test用户
```
sudo nano /etc/vsftpd.chroot_list
```
添加以下内容:
```
test
```
8.重启vsftpd服务
```
sudo service vsftpd restart
```
9.验证FTP服务器是否正常工作
使用ftp命令连接FTP服务器并登录test用户
```
ftp 10.13.220.102
Name: test
Password: password
```
使用ftp1用户登录FTP服务器
```
ftp 10.13.220.102
Name: ftp1
Password: password
```
使用ftp2用户登录FTP服务器
```
ftp 10.13.220.102
Name: ftp2
Password: password
```
以上就是配置FTP服务器以实现文件安全传输的步骤。