Samba1

网络文件共享(Ftp,NFS,Samba)――Samba
S amba主要用来在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组的 用户均可共享)
             V alid 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
           S amba 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 �Ctunlp (查看是否启动成功,即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 �Ctunlp
[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

你可能感兴趣的:(职场,samba,休闲,Samba1)