实验一


实验要求:

    

                     配置本地用户访问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.......