码迷,mamicode.com
首页 > 其他好文 > 详细

NFS服务器学习搭建练习

时间:2014-06-16 16:24:45      阅读:578      评论:0      收藏:0      [点我收藏+]

标签:ftp

实验拓扑:

        Linux Client

-----RHEL5.9(vmnet1)----------(vmnet1)

        Win7 Client

 实验环境: Red Hat Enterprise Linux Server5.4

vsftpd文件共享服务器IP 192.168.10.253

客户端IP 192.168.10.20

bubuko.com,布布扣

实验一:测试默认安装vsftpd的结果

匿名用户与本地用户都可以登录

匿名用户登录到/var/ftp,只能下载不能上传

本地用户登录到本地用户的家目录,可以上传和下载

服务器端设置

[root@dhcpser ~]# cd /misc/cd/Server                 //进入RHEL5.9光盘

[root@dhcpser Server]# ls *vsftpd*                   //查看有vsftp安装包

vsftpd-2.0.5-28.el5.x86_64.rpm

[root@dhcpser Server]# rpm -ivh vsftpd-2.0.5-28.el5.x86_64.rpm   //安装vsftpd

[root@dhcpser Server]# service vsftpd restart          //启动vsftpd服务

[root@dhcpser Server]# chkconfig vsftpd on             //设置vsftpd开机自启动

[root@dhcpser Server]# touch /var/ftp/pub/test1.txt        //创建测试文件  

[root@dhcpser ~]# useradd kaka

[root@dhcpser ~]# echo "redhat" | passwd --stdin kaka   //为用户kaka设置密码

Changing password for user kaka.

passwd: all authentication tokens updated successfully.


验证:(客户端测试)

[root@localhost ~]# ftp 192.168.10.253           //连接ftp服务器

Connected to 192.168.10.253.

220 (vsFTPd 2.0.5)

530 Please login with USER and PASS.

530 Please login with USER and PASS.

KERBEROS_V4 rejected as an authentication type

Name (192.168.10.253:root): ftp              // 匿名用户登录

331 Please specify the password.

Password:

230 Login successful.                      //登陆成功

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> cd pub           //进入pub目录

250 Directory successfully changed.

ftp> ls  

227 Entering Passive Mode (192,168,1,253,75,98)

150 Here comes the directory listing.

-rw-r--r--    1 0        0           11627 Jun 13 02:04 etc.txt

226 Directory send OK.

ftp> get test1.txt         //下载测试文件

local: etc.txt remote: etc.txt

227 Entering Passive Mode (192,168,1,253,136,141)

150 Opening BINARY mode data connection for etc.txt (11627 bytes).

226 File send OK.

11627 bytes received in 0.00082 seconds (1.4e+04 Kbytes/s)

ftp> !ls                                               //!在外部执行命令,查看


下载结果

anaconda-ks.cfg  test1.txt      install.log.syslog    //下载test.txt成功

Desktop          install.log

ftp> put install.log                                 //上传文件

local: install.log remote: install.log

227 Entering Passive Mode (192,168,1,253,46,17)

550 Permission denied.                            //无权限拒绝

ftp> quit                                  //退出


...

实验二:

禁止匿名用户登录

修改FTP默认端口为2121

禁锢本地用户在自己家目录


实验步骤:

[root@ser01 ~]# cd /etc/vsftpd/

[root@ser01 vsftpd]# cp vsftpd.conf vsftpd.conf.bak            //备份vsftpd主配


置文件

[root@ser01 vsftpd]# vim vsftpd.conf                           //编辑vsftpd主配


置文件

...

 12 anonymous_enable=NO                                        //不允许匿名用户


访问

...

119 listen_port=2121                                           //监听端口2121

120 chroot_local_user=YES                                      

[root@ser01 vsftpd]# service vsftpd restart                   //重启服务

[root@ser01 vsftpd]# netstat -tulnp | grep vsftpd             //查看监听端口

tcp        0      0 0.0.0.0:2121         0.0.0.0:*           LISTEN   


4705/vsftpd 

测试:

ftp 192.168.1.253 2121           //登录ftp

Name (192.168.1.253:root): kaka   //用户kaka登录

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> pwd                        //查看当前目录,为伪根目录(即用户家目录)

257 "/"


 

实验三:验证黑/白名单

/etc/vsftpd/ftpusers//黑名单

/etc/vsftpd/user_list  //黑/白名单

[ root@ser01 ~]# useradd jerry                //添加用户jerry

[root@ser01 ~]# useradd mike

[root@ser01 ~]# echo "123456" | passwd --stdin jerry    //为用户jerry设置密码

Changing password for user jerry.

passwd: all authentication tokens updated successfully.

[root@ser01 ~]# echo "123456" | passwd --stdin mike

Changing password for user mike.

passwd: all authentication tokens updated successfully.

[root@ser01 ~]# grep kaka /etc/vsftpd/ftpusers     //查看用户kaka是否在黑名单   

kaka                                             //用户kaka在黑名单中

//请问kaka能否登录FTP??

[root@ser01 ~]# grep jerry /etc/vsftpd/user_list //查看用户jerry是否在黑白名单 

jerry

//请问jerry能否登录FTP???

[root@ser01 ~]# vim /etc/vsftpd/vsftpd.conf        //编辑vsftpd主配置文件

...

121 userlist_deny=NO                               //拒绝用户列表选择NO

[root@ser01 ~]# service vsftpd restart

//请问kaka、jerry、mike谁可以登录???

只有jerry可以登录

实验完毕,请将主配置文件121 userlist_deny=NO注释,将user_list和 ftpusers里面添加


的账户去掉


实验四:

本地用户登录到/data/ftproot目录

up上传/下载,down仅下载。拒绝所有用户登录包括匿名用户

最多20个并发,每IP地址最多2个并发

限制下载速度限制为100KB/s

[root@ser01 ~]# mkdir -p /data/ftproot          //新建文件夹ftproot

[root@ser01 ~]# useradd up

[root@ser01 ~]# useradd down

[root@ser01 ~]# echo "redhat" | passwd --stdin up

[root@ser01 ~]# echo "redhat" | passwd --stdin down

[root@ser01 ~]# vim /etc/vsftpd/vsftpd.conf

...

 12 anonymous_enable=NO                 //关闭匿名用户访问

...

 18 write_enable=YES                         //允许可写入

...

117 userlist_enable=YES                   //启用黑白名单

...

121 userlist_deny=NO                       //是否启用黑白名单拒绝,不启用

122 local_root=/data/ftproot             //指定vsftp目录

123 max_clients=20                       //最大连接数

124 max_per_ip=2                            //最大并发数

125 local_max_rate=100000                   //最高下载速度

[root@ser01 ~]# service vsftpd restart

[root@ser01 ~]# setfacl -m u:up:rwx /data/ftproot/

[root@ser01 ~]# tail -n 2 /etc/vsftpd/user_list 

up

down

[root@ser01 ~]# dd if=/dev/zero of=/data/ftproot/local.tgz bs=1M  count=1000//创建测试文件


测试:

[root@localhost~]# wget ftp://up:redhat@192.168.1.253:2121/local.tgz//下载文件测试下载速度



实验总结:

vsftpd.conf 常见配置及含义说明

作用范围

配置项及示例

说明


匿名

anonymous_enable=YES

启用匿名访问

anon_umask=022

匿名用户所上传文件的权限掩码

anon_root=/var/ftp

匿名用户的FTP根目录

anon_upload_enable=YES

允许上传文件

anon_mkdir_write_enable=YES

允许创建目录

anon_other_write_enable=YES

开放其他写入权

anon_max_rate=0

限制最大传输速率,单位为字节


本地用户

local_enable=YES

是否启用本地系统用户

local_umask=022

本地用户所上传文件的权限掩码

local_root=/var/ftp

设置本地用户的FTP根目录

chroot_local_user=YES

是否将用户禁锢在主目录

local_max_rate=0

限制最大传输速率(字节/秒)








全局配置

listen=YES

是否以独立运行的方式监听服务

listen_address=192.168.4.1

设置监听的IP地址

listen_port=21

设置监听FTP服务的端口号

write_enable=YES

是否启用写入权限

download_enable=YES

是否允许下载文件

dirmessage_enable=YES

用户切换进入目录时示.message文件(如果存在)的内容

xferlog_enable=YES

启用xferlog日志,默认记录到/var/log/xferlog文件

xferlog_std_format=YES

启用标准的xferlog日志格式,若禁用此项,将使用vsftpd自己的日志格式

connect_from_port_20=YES

允许服务器主动模式(从20端口建立数据连接)

pasv_enable=YES

允许被动模式连接

pasv_max_port=24600

设置用于被动模式的服务器最大端口号

pasv_min_port=24500

设置用于被动模式的服务器最小端口号

pam_service_name=vsftpd

设置用于用户认证的PAM文件位置(/etc/pam.d/目录中对应的文件名)


userlist_enable=YES

是否启用user_list用户列表文件

userlist_deny=YES

是否禁止user_list列表文件中的用户帐号

max_clients=0

最多允许多少个客户端同时连接(0为无限制)

max_per_ip=0

对来自相同IP地址的客户端,最多允许多少个并发连接(0为无限制)。

tcp_wrappers=YES

是否启用TCP_Wrappers主机访问控制(TCP Wrappers的应用将在后续课程中讲解)






本文出自 “服务器搭建初学习” 博客,谢绝转载!

NFS服务器学习搭建练习,布布扣,bubuko.com

NFS服务器学习搭建练习

标签:ftp

原文地址:http://9051533.blog.51cto.com/9041533/1426743

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!