首页 > 代码库 > FTP实验
FTP实验
实验一
实验要求:
配置本地用户访问FTP服务,拒绝匿名用户
验证黑白名单
禁锢普通用户在自己的主目录里面
实验环境:RHEL6.4
步骤一:安装vsftpd
[root@localhost Packages]# rpm -q vsftpd
package vsftpd is not installed
[root@localhost Packages]# ls vsftpd*
vsftpd-2.2.2-11.el6.x86_64.rpm
[root@localhost Packages]# rpm -ivh vsftpd-2.2.2-11.el6.x86_64.rpm
warning: vsftpd-2.2.2-11.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ########################################### [100%]
1:vsftpd ########################################### [100%]
步骤二:添加用户
[root@localhost ~]# useradd test1
[root@localhost ~]# useradd test2
[root@localhost ~]# useradd test3
[root@localhost ~]# echo "123456" | passwd --stdin test1
[root@localhost ~]# echo "123456" | passwd --stdin test2
[root@localhost ~]# echo "123456" | passwd --stdin test3
步骤三:修改主配置文件
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
....
12 anonymous_enable=NO //拒绝匿名用户登录
....
121 chroot_local_user=YES //禁锢在家目录
[root@localhost ~]# grep lily /etc/vsftpd/ftpusers //将test1加入黑名单
test1
[root@localhost ~]# grep mike /etc/vsftpd/user_list //将test2加入user_list
test2
[root@localhost ~]#grep userlist_deny /etc/vsftpd/vsftpd.conf //只允许user_list里面的用户访问FTP
userlist_deny=NO
步骤四:启动服务
[root@localhost ~]# service vsftpd restart
[root@localhost ~]# chkconfig vsftpd on
步骤五:客户端测试
分别测试三个用户是否有权限访问FTP
注:如user_list和ftpusers有冲突,拒绝权限优先
实验二
实验要求:
禁锢普通用户在自己的主目录里面
更改匿名用户的站点为/data/anon_pub
更改本地用户的站点为/data/local_pub
设置匿名用户下载速率50KB/S,本地用户100KB/S
最多20个并发,每IP地址最多2并发
实验环境:RHEL6.4
1.软件包安装.....略
2.修改主配置文件
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
....
121 chroot_local_user=YES
122 anon_root=/data/anon_pub
123 local_root=/data/local_pub
124 anon_max_rate=50000
125 local_max_rate=100000
126 max_clients=20
127 max_per_ip=2
...
[root@localhost ~]# mkdir -p /data/{anon_pub,local_pub}
[root@localhost ~]# touch /data/anon_pub/anon_file1
[root@localhost ~]# touch /data/local_pub/local_file1
dd if=/dev/zero of=/data/anon_pub/anon_db bs=10M count=200
dd if=/dev/zero of=/data/local_pub/local_db bs=10M count=200
3.启动服务
[root@localhost ~]# serviec vsftpd restart
4.客户端测试
[root@localhost ~]# wget ftp://192.168.10.10/anon_db
[root@localhost ~]# wget ftp://kaka:123456@192.168.10.10/local_db
实验中出现的问题:
1.ftp服务器连接失败,错误提示:
500 OOPS: cannot change directory:/home/*******
500 OOPS: child died
解决方法:
1 在服务器端输入命令:
setsebool ftpd_disable_trans 1
service vsftpd restart
就OK了!但是下次重启了还会这样··
2 在服务器端输入命令:
setsebool -P ftpd_disable_trans 1
service vsftpd restart
这样每次重启机器都可以了·
原因就在SELinux。
3.直接修改vim /etc/sysconfig/selinux
SELLINUX=disabled
重启
2.[root@localhost ~]# ftp
bash: ftp: command not found
解决方法:
安装ftp包
[root@localhost ~]rpm -ivh ftp.......