网配实验———Linux下的FTP服务器
本次实验任务:
1、建立一台Linux下的FTP服务器,IP地址为192.168.XX.16(XX为学号后两位)。
2、允许匿名访问FTP服务器;匿名用户访问的根目录为/var/ftp/doc
3、匿名用户不能上传文件,只可以下载文件的权限;
4、FTP服务器能够接受最大的连接数为100,同一IP的连接数为2;
5、允许本地用户访问FTP服务器;设定本地用户test被约束在自己的主目录;
大致思路
1.下载所需的vsftpd包
2.设置静态ip
3.配置匿名权限
4.创建test用户、配置用户权限
具体实现
1.安装vsftpd包
在确保联网的情况下安装vsftpd包:
Ubuntu系统:sudo apt-get install vsftpd
CentOS系统: yum install vsftpd
安装完成后来熟悉一下有关vsftpd的指令:
启动:
systemctl start vsftpd
或者service vsftpd start
重启:
systemctl restart vsftpd
或者service vsftpd restart
查看状态:
systemctl status vsftpd
或者service vsftpd status
安装完成之后查看状态
如果显示Active:active(running)表示成功运行
后续每次修改了配置文件(vsftp.conf)之后重启然后可以通过查看状态来检查是否出现了错误如果出现了
Active:failed
极大可能是拼写错误。
2.设置静态IP
经过前面多次实验,此环节自行解决
3.配置匿名用户权限
vsftpd.conf是vsftpd守护进程将读取该文件,作为vsftpd的主配置
配置之前先根据需求创建/var下的ftp文件夹以及ftp下的doc文件夹(建议在文件夹中创建测试文件)
Ubuntu系统下vsftpd.conf文件在/etc目录下
CentOS系统下vsftpd.conf文件在/etc/vsftpd目录下
编辑vsftpd.conf文件如下:
anonymous_enable=YES #允许匿名用户访问
anon_world_readable_only=YES #允许匿名用户浏览和下载文件
anon_root=/var/ftp/doc #匿名用户访问的根目录
max_clients=100 #最大连接数
max_per_ip=2 #同一ip连接数
CentOS系统
Ubuntu系统
保存并退出后重启vsftpd
service vsftpd restart
并查看状态service vsftpd status
如果运行失败就返回查看编辑时是否出了拼写错误(此处应该以管理员身份运行)
如果成功运行就可以在浏览器中通过输入ftp://192.168.XX.16访问/var/ftp/doc文件夹下的资源
4.创建test用户,编辑用户权限
根据任务需求需要,首先要先创建一个test用户
以XXXXXX为用户目录创建tets用户:
useradd -d XXXXXX -m test
设置test的密码:
passwd test
先创建test用户并指定其目录,再设置test用户的密码
创建完成后继续配置vsftpd.conf文件
红框之内从上到下依次为:
local_enable=YES #允许系统的真实用户可以登录FTP
chroot_local_user=NO #绑定所有用户的根目录(此处为否,为了单独设置test用户而没有进行批量处理)
chroot_list_enable=YES #使用列表进行限制:是
allow_writeable_chroot=YES #允许写入
#最后一条 根据系统类型选择
#CentOS:
chroot_list_file=/etc/vsftpd/chroot_list
#Ubuntu:
chroot_list_file=/etc/vsftpd.chroot_list
CentOS系统
Ubuntu系统
最后一条是在设置限制列表文件,在该文件中添加了用户名后使用该用户账号访问ftp服务器就会被约束在自己的主目录
所以最后的操作就是在限制列表文件中添加test,保存并退出
限制列表文件:
CentOS: /etc/vsftpd/chroot_list
Ubuntu: /etc/vsftpd.chroot_list
重启服务即可进行测试