运维开发网

Samba1

运维开发网 https://www.qedev.com 2020-02-25 10:17 出处:51CTO 作者:surpassdream
网络文件共享(Ftp,NFS,Samba)——Samba Samba主要用来在Windows与Linux之间的文件共享工具,用户的认证和授权都可以由samba自己来定义和实现,并且支持打印共享、名称解析、服务的喧称(即有浏览权),samba客户端可以通过远程连接samba服务器来上传和下载文件。 Samba服务的主要程序: 【smbd:提供对服务器中文件、打印资源的共享访问, 【nmb

网络文件共享(Ftp,NFS,Samba)——Samba

Samba主要用来在Windows与Linux之间的文件共享工具,用户的认证和授权都可以由samba自己来定义和实现,并且支持打印共享、名称解析、服务的喧称(即有浏览权),samba客户端可以通过远程连接samba服务器来上传和下载文件。

Samba服务的主要程序:

【smbd:提供对服务器中文件、打印资源的共享访问,

【nmbd:提供基于NetBIOS主机名称的解析, 使用udp的137、138端口】

smb使用tcp的139端口

 cifs使用tcp的44 5端口

 软件包:samba.i386- 3.0.33-3.14.el5  

Samba的服务脚本:/etc/init.d/smb

Sambade 配置目录为:/etc/samba,配置文件为:/etc/samba/smb.conf,它默认定义的三个字段即[global] Global (全局)参数 

该部分设置整个系统的规则,定义了一些公共变量,如netbios   name=web

定义Windows系统“网上邻居”中所见的机器名,如workgroup=SambaServer

定义服务器的工作组名,如server   string=Samba   Server

对主机的说明信息如:hosts   allow=192.168.0.105

guest   account=thg

定义smb用户名称,如security=user 

、[homes]、[printers]。

Nmbclient是可以用来进行调试的程序。 

 Smbfs程序是使用SMB协议工作的文件系统。 

Smbumount程序用于卸载Smbmount建立的共享资源目录。

如printer字段:

[printers]

comment = All Printers(定义注释描述信息)

        path = /var/spool/samba(定义打印队列或共享目录)

        browseable = no(定义浏览权限,此处表示除了用户自己可看到外,其他人都不允许浏览)

        guest ok = no(定义是否允许来宾账号访问的,此处表示不允许来宾账号访问)

        writable = no(定义是否可写的,此处表示不可写)

        printable = yes

    还有例如:valid users=@mygroup(用来定义对那些用户来自定义共享的,此处表示对mygroup组的 用户均可共享)

            Valid users=+natasha(表示允许natsaha用户共享)

            write list=wendy(用来定义谁具有写权限的,此处表示wendy用户在访问共享时具有写权限)

            public=yes(表示可见)

            read only=no(表示只可写)

 

getbool  -a  | grep  samba(查看与samba相关的bool值)

 setsebool  -P  samba_enable_home_dirs  on(修改samba的bool

值 可以让用户访问自己的家目录)

chcon  -R  -t  samba_share_t  /path/to/samba_share_DIR(让samba客户端可以访问samba服务器的共享目录)

1)如何利用Samba来实现针对不同的用户具有不同的共享权限呢?

实验要求:添加两个附加组都为mygroup组的用户natasha和wendy,让wendy具有访问与可写权限,让natasha具有访问权限;再添加一个mary的用户,让mary只有浏览权限;新建一个属主为root属组为mygroup权限为775的共享目录/shared,并用smbclient客户端进行访问。并且把防火墙设为Enforcing状态。

实验环境:samba—server:192.168.0.105

          Samba—client:192.168.0.106

   在samba—server上做设置:

[root@station19 ~]# rpm -qa | grep samba(查看已安装的samba软件包)

samba-client-3.0.33-3.14.el5

samba-common-3.0.33-3.14.el5

[root@station19 ~]# yum list all | grep samba(列出samba软件包)

    samba.i386- 3.0.33-3.14.el5              

 samba-client.i386 -3.0.33-3.14.el5         

 samba-common.i386 - 3.0.33-3.14.el5      

samba-swat.i386 - 3.0.33-3.14.el5          

system-config-samba.noarch- 1.2.41-5.el5   

[root@station19 ~]# yum -y install samba(安装samba包)

[root@station19 ~]# service smb start(启动samba服务)

Starting SMB services:                                      [  OK  ]

Starting NMB services:                                      [  OK  ]

   [root@station19 ~]# chkconfig smb on(添加到开机自启动列表)

   [root@station19 ~]# netstat –tunlp(查看是否启动成功,即137、138、139、445端口是否开放了)

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

   udp        0      0 192.168.0.103:137           0.0.0.0:*                               30752/nmbd          

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

udp        0      0 192.168.0.103:138           0.0.0.0:*                               30752/nmbd          

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

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

[root@station19 ~]# grep -v -E "#|^;" /etc/samba/smb.conf(查看samba所有定义的选项)

[root@station19 ~]# vim /etc/sysconfig/seLinux(开启seLinux

SELinux=enforcing

[root@station19 ~]# groupadd mygroup(添加mygroup组)

[root@station19 ~]# useradd -G mygroup natasha(添加natasha用户,并制定附加组为mygroup组)

[root@station19 ~]# useradd -G mygroup wendy(添加wendy用户,并制定附加组为mygroup组)

[root@station19 ~]# useradd mary(添加mary用户)

[root@station19 ~]# cd /(切换到根目录)注一定要在根目录下建共享目录shared/)

[root@station19 /]# mkdir shared/(建共享目录)

[root@station19 /]# chown root :mygroup shared/(修改属主为root属组为mrgroup)

[root@station19 /]# chcon -R -t samba_share_t  /shared/(修改共享目录标签)

[root@station19 /]# chmod 775 shared/(修该目录权限)

[root@station19 /]# ll -Zd /shared/(查看目录详细信息)

drwxrwxr-x  root mygroup root:object_r:samba_share_t      /shared/

[root@station19 /]#touch thg.txt(创建两个文本文件,用来方便测试使用)

[root@station19 /]#touch.tg.txt

[root@station19 shared]# ls

tg.txt  thg.txt

[root@station19 ~]# vim /etc/samba/smb.conf(编辑主配置文件)

[shared]

       comment=shared

       path=/shared/(注这里一定要把目录路径指正确)

       public=yes(对所有用户都可见)

       browseable=yes(允许非登录用户浏览)

       valid users=@mygroup,nobody(对mygroup组的用户具有访问权限)

       write list=wendy(是wendy用户可写)

[root@station19 ~]# testparm(测试主配置文件语法的正确性)

Load smb config files from /etc/samba/smb.conf

Processing section "[homes]"

Processing section "[printers]"

Processing section "[shared]"

Loaded services file OK.

[root@station19 ~]# smbpasswd -a natasha(给用户添加smbpasswd账号)

(注:用户必须是事先存在的一个系统用户)

[root@station19 ~]# smbpasswd -a wendy

[root@station19 ~]# smbpasswd -a mary

[root@station19 ~]# service smb restart(重启samba服务)

[root@station19 ~]# netstat –tunlp

[root@station19 ~]# getenforce(再次确认seLinux状态)

[root@station19 ~]# smbclient -L 127.0.0.1(先用本机测试)

在samba—client上做测试:

[root@station6 ~]# smbclient //192.168.0.105/shared -U natasha%natasha(使用natasha用户名和natasha密码登陆查看共享情况)

Domain=[STATION19] OS=[Unix] Server=[Samba 3.0.33-3.14.el5]

smb: \> ls

  .                                   D        0  Thu Mar  4 22:13:17 2010

  ..                                  D        0  Thu Mar  4 21:54:31 2010

  thg.txt                                      0  Thu Mar  4 22:06:50 2010

  tg.txt                                      29  Thu Mar  4 22:45:20 2010

                36979 blocks of size 1048576. 32176 blocks available

smb: \> put thg.txt

NT_STATUS_ACCESS_DENIED opening remote file \thg.txt

smb: \> lcd /etc

smb: \> ls

  .                                   D        0  Thu Mar  4 22:13:17 2010

  ..                                  D        0  Thu Mar  4 21:54:31 2010

  thg.txt                                      0  Thu Mar  4 22:06:50 2010

  tg.txt                                      29  Thu Mar  4 22:45:20 2010

                36979 blocks of size 1048576. 32176 blocks available

smb: \> get thg.txt

getting file \thg.txt of size 0 as thg.txt (0.0 kb/s) (average 0.0 kb/s)

smb: \> ls

  .                                   D        0  Thu Mar  4 22:13:17 2010

  ..                                  D        0  Thu Mar  4 21:54:31 2010

  thg.txt                                      0  Thu Mar  4 22:06:50 2010

  tg.txt                                      29  Thu Mar  4 22:45:20 2010

                36979 blocks of size 1048576. 32176 blocks available

smb: \> rm thg.txt

NT_STATUS_MEDIA_WRITE_PROTECTED deleting remote file \thg.txt

smb: \> ls

  .                                   D        0  Fri Mar  5 00:39:19 2010

  ..                                  D        0  Thu Mar  4 21:54:31 2010

  thg.txt        (表明natasha用户不可删除thg.txt)  

 tg.txt                                      29  Thu Mar  4 22:45:20 2010

                          57  Fri Mar  5 00:39:19 2010

                36979 blocks of size 1048576. 32176 blocks available

[root@station6 ~]# smbclient //192.168.0.105/shared -U wendy%wendy(wendy用户登录)

Domain=[STATION19] OS=[Unix] Server=[Samba 3.0.33-3.14.el5]

smb: \> ls

  .                                   D        0  Thu Mar  4 22:45:20 2010

  ..                                  D        0  Thu Mar  4 21:54:31 2010

  thg.txt                                      0  Thu Mar  4 22:43:04 2010

  tg.txt                                      29  Thu Mar  4 22:45:20 2010

                36979 blocks of size 1048576. 32176 blocks available

smb: \> get tg.txt(可下载)

getting file \tg.txt of size 29 as tg.txt (5.7 kb/s) (average 5.7 kb/s)

smb: \> rm tg.txt(可以删除tg.txt了)

smb: \> ls

  .                                   D        0  Thu Mar  4 22:46:07 2010

  ..                                  D        0  Thu Mar  4 21:54:31 2010

  thg.txt                                      0  Thu Mar  4 22:43:04 2010

                36979 blocks of size 1048576. 32176 blocks available

smb: \> exit

[root@station6 ~]# smbclient -L 192.168.0.105 -U mary%mary(mary用户只可见)

Domain=[STATION19] OS=[Unix] Server=[Samba 3.0.33-3.14.el5]

        Sharename       Type      Comment

        ---------       ----      -------

        shared          Disk      shared

        IPC$            IPC       IPC Service (Samba Server Version 3.0.33-3.14.el5)

        station90       Printer   station90

        station         Printer   station

        Server          Printer   Server

        qqq             Printer   qqq

        mary            Disk      Home Directories

Domain=[STATION19] OS=[Unix] Server=[Samba 3.0.33-3.14.el5]

        Server               Comment

        ---------            -------

        Workgroup            Master

        ---------            -------

        MYGROUP              

[root@station6 ~]# smbclient //192.168.0.105/shared -U mary%mary(mary用户没有访问此共享权限)

Domain=[STATION19] OS=[Unix] Server=[Samba 3.0.33-3.14.el5]

tree connect failed: NT_STATUS_ACCESS_DENIED

   **************************************************************************

[root@station6 ~]# mount -t cifs -o username=wendy //192.168.0.105/shared /mnt(可挂载共享,文件系统类型为cifs)

[root@station19 ~]# vim /etc/fstab(添加共享到开机自定还挂载列表,只需了解,很少使用)

//192.168.0.105/shared   /mnt    cifs    username=nodody  0 0

0

精彩评论

暂无评论...
验证码 换一张
取 消