samba 服務


samba服務:1、用於Linux 和Windows 之間的文件共享,可以實現匿名用戶和本地用戶之間的文件共享
            2、工作原理:smb 進程 —>控制發佈共享目錄與權限   tcp   139   445   138 139


搭建samba服務步驟:1、關閉防火牆和 selinux
                   2、配置 yum 源(一般是本地源)
                   3、軟件三部曲(查看、安裝、查看軟件列表)

                 # rpm -aq|grep samba
                  samba-winbind-clients-3.6.9-164.el6.x86_64     客戶端工具
                  samba-3.6.9-164.el6.x86_64      服務端
                  samba-client-3.6.9-164.el6.x86_64     客戶端工具
                  samba4-libs-4.0.0-58.el6.rc4.x86_64   庫文件
                  samba-common-3.6.9-164.el6.x86_64   工具包
                  samba-winbind-3.6.9-164.el6.x86_64   客戶端工具

                # rpm -ql samba|grep etc
                 /etc/logrotate.d/samba    日誌輪轉文件
                 /etc/pam.d/samba   驗證機制
                 /etc/rc.d/init.d/nmb    啓動腳本
                 /etc/rc.d/init.d/smb
                 /etc/samba/smbusers    用戶別名文件
                 /usr/sbin/nmbd      二進制命令
                 /usr/sbin/smbd
           

                # rpm -ql samba-client
                 /usr/bin/smbclient  客戶端工具
               

                 # rpm -ql samba-common
                 /etc/samba     主目錄
                 /etc/samba/smb.conf    主配置文件
                 /usr/bin/pdbedit      查看smb數據庫用戶
                 /usr/bin/smbpasswd    設置用戶密碼
                 /usr/bin/testparm     檢測語法
          4、瞭解主配置文件
          # cat /etc/samba/smb.conf |grep -v ^#|grep -v '^;'|grep [a-z]

            [global]     全局標籤
             workgroup = MYGROUP     工作組
             server string = Samba Server Version %v  samba     服務器版本描述
             # logs split per machine
             log file = /var/log/samba/log.%m    日誌文件
             # max 50KB per log file, then rotate
             max log size =    50 日誌大小kb
             security = user     認證模式:user用戶名密碼; share匿名;server
             passdb backend = tdbsam       smb數據庫 /var/lib/samba/private/
             # the login script name depends on the machine name
             # the login script name depends on the unix user used
             # disables profiles support by specifing an empty path
             load printers = yes      加載打印機
             cups options = raw       打印機選項

             #obtain list of printers automatically on SystemV

            [homes]     局部標籤  共享本地用戶的家目錄
            comment = Home Directories  描述
            browseable = no  隱藏標籤
            writable =  yes 可寫
       
            [printers]
            comment = All Printers
            path = /var/spool/samba
            browseable = no
            guest ok = no    等於 public = yes
            writable = no    等於 read only = yes
            printable = yes
                   
        
         5、沒有需求,不用修改配置文件(測試驗證默認情況下的共享文件)

         6、啓動服務,開機自啓動
             # service nmb restart
             # service smb restart

            

            # smbclient -L 192.168.1.4   ——>client 端查看
               Enter root's password:             ——>直接回車是匿名查看
               Anonymous login successful
               Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-164.el6]
              tree connect failed: NT_STATUS_ACCESS_DENIED
           

            本地用戶查看:   需要將本地 (server端) 的用戶加入到 smb 數據庫裏
             # smbpasswd -a stu1
             New SMB password:

             Retype new SMB password:
             Added user stu1.

                

            # pdbedit -L 查看用戶是否在smb數據裏面
             stu1:500:
            

            # smbclient -L 192.168.1.4 -U stu1  ——> 以Samba 數據庫的某個用戶查看

            本地用戶訪問:               標籤
             # smbclient  //192.168.1.4/share -U stu1
             Enter stu1's password:

             Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-164.el6]
                 smb: \> ?

           

             Windows 查看:cmd-》\\192.168.1.123      
         

     1、默認情況下,匿名用戶不可以訪問 server 端共享出來的本地用戶家目錄
     2、本地用戶需要通過用戶名和密碼訪問本地用戶的家目錄(需要將本地 (server端) 的用戶加入到 smb 數據庫裏)


         需求 1 :匿名用戶查看    
       #vim /etc/samba/smb.conf
[homes]

       comment = Home Directories
       browseable = no
       writable = yes
       guest ok = yes   允許匿名用戶訪問
       
測試 (client) 端:
        #smbclient //192.168.1.123/stu1  匿名用戶登錄
   smb: \> ls
      NT_STATUS_ACCESS_DENIED listing \*   家目錄沒有權限

server 端: ——> 修改權限
       [stu1@vm01 ~]$ ll -d  
           drwx------. 5 stu1 stu1 4096 Jul 29 14:45 .
       [stu1@vm01 ~]$ chmod o+rx .
       [stu1@vm01 ~]$ ll -d
       drwx---r-x. 5 stu1 stu1.

  smb: \> ls



       需求 2 :認證模式更改爲 share(匿名用戶訪問)
   # vim  /etc/samba/sbm.conf
       ...
       security =  share  
       ...
   
  結果: 匿名用戶可以查看,本地用戶不可以訪問查看 



        需求 3 :共享本地目錄 /samba/share
         # vim   /etc/samba/smb.conf
              ...
              [share]
                comment = share dir
                path    = /samba/share
                public  = no
                read only = yes
                browseable = yes
              
       ▼客戶端掛載使用:  開機自動掛載、自動掛載
      #mount.cifs  -o  username=stu1,password=stu1  //192.168.1.4/share  /u02    ——>手動掛載
     
      #vim  /etc/fstab               ——>開機自動掛載
         ...
        //192.168.1.4/share    /u02    
   
       
      #vim  /etc/auto.master        ——>自動掛載
         ...
         /smb            /auto.samba
      #vim  /auto.samba
         ...
         
       
       
       
▼控制讀寫訪問:
      writable = yes / no   ——>可寫
      read  only = yes / no    
     
      read  list = tom,@admin    ——>限制可讀的用戶
      write  list = tom,@admin  
     
     
▼對象的訪問控制:
           
            valid user = tom,@admin   —> 指定可用用戶
            invalid  user = tom,@admin   —> 指定不可用用戶
  兩個參數不要同時存在                            
 
     
       

▼網絡訪問控制:    allow  和 deny 衝突  —> allow 優先
             
          hosts  allow  =  150.203.   EXCEPT  150.203.6.66   —> 允許哪個網段訪問,除了哪個IP
          hosts  allow  =  150.203.15.0/255.255.255.0
          hosts allow  =  *.uplooking.com
          hosts deny  =  192.168.1.3  vm01.example.com

 

        需求:
公司:uplooking
1、財務部門 /samba/upl_cw  cw01財務總監有可讀可寫權限,財務部門員工可讀,boss01>對其有管理權限。
2、市場部門 /samba/upl_sc  市場部門員工可讀可寫,公司員工可以查詢資料,boss02對>其有管理權限。
3、HR部門  /samba/upl_rs  rs01HR總監可讀寫,HR部門員工可以對財務部查詢,vip用戶>可以查詢
4、休息區  /samba/upl_pub  自己管理自己的文件
         
       
步驟:
1、創建相應的共享目錄
   #mkdir /samba/upl_{cw,sc,rs,pub} -p

2、創建相應的用戶組
groupadd uplooking
groupadd cw
groupadd rs
groupadd sc
useradd -g cw -G uplooking cw01
useradd -g cw -G uplooking cw02
useradd -g rs -G uplooking rs01
useradd -g rs -G uplooking rs02
useradd -g sc -G uplooking sc01
useradd -g sc -G uplooking sc02
useradd -g uplooking boss01
useradd -g uplooking boss02
useradd vip
       
3、更改目錄相應的權限
chown root.uplooking /samba -R
chmod 770 /samba -R
chown root.cw /samba/upl_cw
chown root.rs /samba/upl_rs
chown root.sc /samba/upl_sc
chown root.uplooking /samba/upl_pub
chmod 1777 /samba/upl_pub
     
4、發佈共享目錄
[share_cw]
       comment = cw01財務總監有可讀可寫權限,財務部門員工可讀,boss01對其有管理權限
       path    = /samba/upl_cw
       valid users = @uplooking
       read list = @cw,@rs
       write list = cw01,boss01

[share_rs]
       comment =  HR總監可以讀寫,vip用戶可以查詢
       path = /samba/upl_rs
       valid users = @rs,vip
       read list = @rs,vip
       write list  = rs01

[share_sc]
       comment = 市場部門員工可以讀寫,公司員工可以查詢資源,boss02對其部門管理
       path = /samba/upl_sc
       valid users = @uplooking
       read list = @uplooking
       write list = @sc,boss02

[share_pub]
       comment =  自己的文件自己管理
       public = yes
       path = /samba/upl_pub
       writable = yes
       hosts allow = 192.168.1.0/24
       
       
5、語法檢測      # testparm

6、將用戶加入到smb數據裏
# smbpasswd -a rs01
# smbpasswd -a rs02
# smbpasswd -a cw01
# smbpasswd -a cw02
# smbpasswd -a sc01
# smbpasswd -a sc02
# smbpasswd -a vip
# smbpasswd -a boss01
# smbpasswd -a boss02
 

# pdbedit -L 查看是否將用戶加入到smb數據

 
7、重啓服務測試驗證     
     
     清空 windows 緩存:cmd——>net use * /del /y


使用samba服務最好掛載使用(linux中這樣方便)

#mount.cifs  -o  username=stu1,password=stu1  //192.168.1.4/share   /yum(掛載點)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章