Linux网络服务之SMB跨平台文件共享

——王宇然qq496488051

实验拓扑:

spacer.gif

实验一:

将目录 /usr/src 共享给所有人

共享名设为 tools

允许所有人访问、无需密码验证

访问权限为只读


1、安装软件包

[root@localhost ~]# rpm -q samba-clientsamba samba-common  //查看软件包是否被安装

package samba-client is not installed

package samba is not installed

package samba-common is not installed

[root@localhost ~]# cd /etc/yum.repos.d/                        //进入YUM目录

[root@localhost yum.repos.d]# cprhel-debuginfo.repo rhel- server.repo   //复制一份YUM模板

[root@localhost yum.repos.d]# vimrhel-server.repo             //vim编辑yum配置文件

[rhel-server]

name=Red Hat Enterprise Linux Server

baseurl=file:///misc/cd/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[root@localhost yum.repos.d]# yum clean all                            //消除yum

[root@localhost yum.repos.d]# yum -yinstall samba samba-client  samba-common         //安装

软件包

2、修改主配置文件


[root@ser1 ~]# vim /etc/samba/smb.conf             //进入主配置文件进行修改

...

74        workgroup = Tarena                                     //修改工作组

75        server string = Win File Ser                        

...

89        log file = /var/log/samba/%m.log

...

91        max log size = 50

...

101        security = share                                             //降低安全级别

...

289 [tools]

290        comment = Tools Public

291        path = /usr/src

292        public = yes

293        read only = yes

3、启动服务

[root@ser1 ~]# testparm                                            //检查smb配置

[root@ser1 ~]# service smb restart                           //重启smb服务

[root@ser1 ~]# chkconfig smb on                               //开启smb服务

[root@ser1 ~]# netstat -anptu | grep mbd              //查看smb端口

tcp   0  0 0.0.0.0:139    0.0.0.0:*      LISTEN      7008/smbd    

tcp   0  0 0.0.0.0:445    0.0.0.0:*      LISTEN      7008/smbd    

udp   0  0 192.168.10.10:137     0.0.0.0:*           7011/nmbd    

udp   0  0 0.0.0.0:137           0.0.0.0:*           7011/nmbd    

udp   0  0 192.168.10.10:138     0.0.0.0:*           7011/nmbd    

udp   0  0 0.0.0.0:138           0.0.0.0:*            7011/nmbd  

4、客户端测试:

Windows:

        UNC路径\\192.168.10.10

Linux

[root@localhost ~]# yum -y installsamba-client

[root@localhost ~]# smbclient -L192.168.10.253

[root@localhost ~]# smbclient //192.168.10.253/tools

[root@localhost ~]# mkdir -p /data/smb

[root@localhost ~]# mount -t cifs//192.168.10.10/tools /data/smb/

[root@localhost ~]# grep smb /etc/fstab

//192.168.10.10/tools   /data/smb   cifs   defaults  0  0




实验二:

Samba用户验证

修改原有的 [tools]匿名共享设置

不再允许所有人访问

只允许nick读取、tom写入

拒绝其他用户或匿名访问

1、新建相应账户与samba密码

[root@localhost ~]# useradd nick                               //添加用户

[root@localhost ~]# useradd tom

[root@localhost ~]# echo "123456"| passwd --stdin nick               //给用户设置密码

Changing password for user nick.

passwd: all authentication tokens updatedsuccessfully.

[root@localhost ~]# echo "123456"| passwd --stdin tom

Changing password for user tom.

passwd: all authentication tokens updatedsuccessfully.

[root@localhost ~]# pdbedit -a nick                           //

[root@localhost ~]# pdbedit -a tom                           //

2、修改主配置文件

[root@ser1 ~]# vim /etc/samba/smb.conf             //修改主配置文件

...

101        security = user

...

289 [tools]

290        comment = Tools Public

291        path = /usr/src

292        public = no

293        valid users = nick,tom

294        write list = tom

295        read only = yes

296        directory mask = 0755

297        create mask = 0644

...

[root@ser1 samba]# setfacl -m u:tom:rwx/usr/src/               //tom设置acl权限

3、启动服务

[root@ser1 ~]# service smb restart

关闭 SMB 服务:                                            [确定]

关闭 NMB 服务:                                            [确定]

启动 SMB 服务:                                            [确定]

启动 NMB 服务:                                            [确定]


4、客户端验证

Windows:

        UNC路径\\192.168.10.10

实验三:

Samba账户别名与访问地址控制

把普通帐户nick设置别名为kaka

设置只允许192.168.10.10地址访问


1、修改Samba用户别名文件

[root@localhost ~]# vim /etc/samba/smbusers

# Unix_name = SMB_name1 SMB_name2 ...

root = administrator admin

nobody = guest pcguest smbguest

nick = kaka

2、修改主配置文件

[root@localhost ~]# vim /etc/samba/smb.conf

...

76        username map = /etc/samba/smbusers

...

289 [tools]

290        comment = Tools Public

291        path = /usr/src

292        public = no

293        valid users = nick,tom               //允许访问的用户

294        write list = tom                           //可读写用户

295        read only = yes                            //只设置开启

296        directory mask = 0755              

297        create mask = 0644                            

298        hosts allow = 192.168.10.10            //允许访问的ip地址

3、客户端测试