任务描述:请采用 FTP 服务器,实现文件安全传输。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 18:50:42 浏览: 70
好的,以下是具体的步骤:
1. 在Linux2上安装vsftpd:在终端中执行以下命令:
```
sudo apt-get update
sudo apt-get install vsftpd
```
2. 配置本地用户test的FTP访问权限:在vsftpd配置文件/etc/vsftpd.conf中添加以下配置:
```
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES
local_root=/var/ftp/pub
allow_writeable_chroot=YES
```
保存配置文件并重启vsftpd服务:
```
sudo systemctl restart vsftpd
```
3. 配置FTP虚拟用户认证模式:在vsftpd配置文件/etc/vsftpd.conf中添加以下配置:
```
user_config_dir=/etc/vsftpd/user_conf
virtual_use_local_privs=YES
guest_enable=YES
guest_username=ftp
user_sub_token=$USER
local_root=/var/ftp/vdir/$USER
hide_file=.*
```
创建虚拟用户配置文件目录:
```
sudo mkdir /etc/vsftpd/user_conf
```
创建ftp1和ftp2的虚拟用户配置文件:
```
sudo touch /etc/vsftpd/user_conf/ftp1
sudo touch /etc/vsftpd/user_conf/ftp2
sudo chmod a+w /etc/vsftpd/user_conf/ftp1
sudo chmod a+w /etc/vsftpd/user_conf/ftp2
echo "local_root=/var/ftp/vdir/ftp1" >> /etc/vsftpd/user_conf/ftp1
echo "anon_upload_enable=YES" >> /etc/vsftpd/user_conf/ftp1
echo "anon_mkdir_write_enable=YES" >> /etc/vsftpd/user_conf/ftp1
echo "anon_other_write_enable=YES" >> /etc/vsftpd/user_conf/ftp1
echo "deny_file=.docx" >> /etc/vsftpd/user_conf/ftp1
echo "local_root=/var/ftp/vdir/ftp2" >> /etc/vsftpd/user_conf/ftp2
echo "anon_upload_enable=NO" >> /etc/vsftpd/user_conf/ftp2
echo "anon_mkdir_write_enable=NO" >> /etc/vsftpd/user_conf/ftp2
echo "anon_other_write_enable=NO" >> /etc/vsftpd/user_conf/ftp2
```
注意:如果你使用的是Ubuntu系统,vsftpd配置文件位于/etc/vsftpd.conf。
4. 验证FTP服务器配置:使用ftp命令在本机连接FTP服务器并测试上传下载文件。
```
ftp 10.13.220.102
```
使用test用户登录,可以在/var/ftp/pub目录下上传下载文件。
使用ftp1用户登录,只能在/var/ftp/vdir/ftp1目录下上传下载文件,并且不能上传后缀名为.docx的文件。
使用ftp2用户登录,只能在/var/ftp/vdir/ftp2目录下下载文件,不能上传或创建文件。
阅读全文