天天看點

SAMBA 生産環境應用執行個體

案例一、公司現有一個工作組workgroup,需要添加samba伺服器作為檔案伺服器,并釋出共享目錄/home/share,共享名為public,此共享目錄允許所有員工通路。

1

、主配置檔案/etc/samba/smb.conf修改

#======================= Global Settings=====================================

[global]

workgroup = WORKGROUP  //

定義工作組,也就是windows中的工作組概念

server string = Justin peng Samba Server Version %v  //

定義Samba伺服器的簡要說明

netbios name = Justin_peng_Samba  //

定義windows中顯示出來的計算機名稱

# --------------------------- Logging Options-----------------------------

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

定義Samba使用者的日志檔案,%m代表用戶端主機名,Samba伺服器會在指定的目錄中為每個登陸主機建立不同的日志檔案

# ----------------------- Standalone Server Options------------------------

security = share   //

共享級别,使用者不需要賬号和密碼即可通路

#       passdb backend = tdbsam

# -----------------------

文末添加以下------------------------

[public]

comment = Public Stuff

path = /home/share

public = yes

2

、建立共享目錄

設定了共享目錄/home/share,需要建立該目錄,由于要設定匿名使用者可以下載下傳或上傳共享檔案,是以要給/share目錄授權為nobody權限。

[root@justin bin]# mkdir /home/share

[root@justin bin]# touch /home/share/{aaa.txt,bbb.txt}

[root@justin bin]# ls /home/share

aaa.txt  bbb.txt

[root@justin bin]# chown nobody:nobody /home/share/ -R

[root@justin bin]# ll /home/share/

總用量0

-rw-r--r-- 1 nobody nobody 0 12

月17 13:44 aaa.txt

月17 13:44 bbb.txt

[root@justin bin]# /etc/init.d/smb restart

關閉 SMB 服務:                                            [确定]

啟動 SMB 服務:                                            [确定]

[root@justin bin]# /etc/init.d/nmb restart

關閉 NMB 服務:                                            [确定]

啟動 NMB 服務:                                            [确定]

[root@justin bin]#

3

、測試samba配置檔案正确性

[root@justin bin]# testparm

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

rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)

Processing section "[homes]"

Processing section "[printers]"

Processing section "[public]"

Loaded services file OK.

Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

    netbios name =JUSTIN_PENG_SAMBA

    server string = Justin peng Samba ServerVersion %v

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

    max log size = 50

    cups options = raw

[homes]

    comment = Home Directories

    read only = No

    browseable = No

[printers]

    comment = All Printers

    path = /var/spool/samba

    printable = Yes

    comment = Public Stuff

    path = /home/share

    guest ok = Yes

4

、通路samba共享檔案

Server

:RHEL6.3 10.15.72.38

Client

:RHEL6.3 10.15.72.83

            Windows 10.15.72.73

在Linux下通路Samba伺服器的共享檔案

[root@justin ~]# smbclient //10.15.72.38/public

-bash: smbclient: command not found

[root@justin ~]# rpm -qa|grep samba

samba-common-3.6.9-164.el6.i686

samba-winbind-3.6.9-164.el6.i686

samba-winbind-clients-3.6.9-164.el6.i686

[root@justin ~]# mount /dev/cdrom /mnt/cdrom/

mount: block device /dev/sr0 is write-protected, mounting read-only

[root@justin ~]# find /mnt/cdrom/Packages/ -name '*samba*'

/mnt/cdrom/Packages/samba-3.5.10-125.el6.i686.rpm

/mnt/cdrom/Packages/samba-client-3.5.10-125.el6.i686.rpm

/mnt/cdrom/Packages/samba-common-3.5.10-125.el6.i686.rpm

/mnt/cdrom/Packages/samba-winbind-3.5.10-125.el6.i686.rpm

/mnt/cdrom/Packages/samba-winbind-clients-3.5.10-125.el6.i686.rpm

/mnt/cdrom/Packages/sblim-cmpi-samba-1.0-1.el6.i686.rpm

[root@justin ~]# rpm -ivh/mnt/cdrom/Packages/samba-client-3.5.10-125.el6.i686.rpm

warning: /mnt/cdrom/Packages/samba-client-3.5.10-125.el6.i686.rpm: Header V3RSA/SHA256 Signature, key ID fd431d51: NOKEY

error: Failed dependencies:

    samba-common = 0:3.5.10-125.el6 isneeded by samba-client-0:3.5.10-125.el6.i686

    samba-winbind-clients =0:3.5.10-125.el6 is needed by samba-client-0:3.5.10-125.el6.i686

[root@justin ~]# yum install -y samba-client

Complete!

samba-winbind-3.6.9-167.el6_5.i686

samba-winbind-clients-3.6.9-167.el6_5.i686

samba-client-3.6.9-167.el6_5.i686

samba-common-3.6.9-167.el6_5.i686

Enter root's password:

Anonymous login successful

Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.10-125.el6]

smb: \> ls

  .                                   D        0 Tue Dec 17 13:44:53 2013

  ..                                  D        0 Tue Dec 17 13:43:40 2013

  aaa.txt                                      0  Tue Dec 17 13:44:53 2013

  bbb.txt                                      0  Tue Dec 17 13:44:53 2013

        62915 blocks of size 131072.58554 blocks available

smb: \> q

[root@justin ~]#

用戶端需要安裝好samba-client,上面直接挂載用安裝盤裡軟體包安裝失敗是依賴關系失敗,系統安裝的依賴包版本高于軟體包裡的samba-client版本,最後通過yum安裝

在windows下通路Samba伺服器的共享檔案

直接在運作裡輸入:\\10.15.72.38\public145915755.png

案例二、公司現有多個部門,因工作需要,将IT部的資料存放在samba伺服器的/home/it 目錄中集中管理,以便IT人員浏覽,并且該目錄隻允許IT部員工通路

、建立組和使用者

[root@justin bin]# groupadd IT

[root@justin bin]# useradd -g IT -s /sbin/nologin justin1

[root@justin bin]# useradd -g IT -s /sbin/nologin justin2

[root@justin bin]# passwd justin1

更改使用者 justin1 的密碼 。新的 密碼:重新輸入新的 密碼:

passwd

: 所有的身份驗證令牌已經成功更新。

[root@justin bin]# echo "justin123"|passwd --stdin justin2

更改使用者 justin2 的密碼 。

由于設定了使用者的shell為nologin,即使設定了密碼也是無法登陸系統

、将justin1、justin2假如samba賬戶中 

[root@justin ~]# smbpasswd -a justin1

New SMB password:

Retype new SMB password:

Added user justin1.

[root@justin ~]# smbpasswd -a justin2

Added user justin2.

smbpasswd

指令的主要選項:

  -h

:顯示smbpasswd指令的幫助資訊

-a

:添加指定的Samba使用者帳号

-d

:禁用指定的使用者帳号

-e

:啟用指定的使用者帳号

-x

:删除指定的使用者帳号不使用任何指令選項時可以用于修改Samba使用者的密碼

、建立共享封建

[root@justin bin]# mkdir /home/IT

[root@justin bin]# touch /home/IT/{ccc.txt,ddd.txt}

[root@justin bin]# echo "Samba test file1" >/home/IT/ccc.txt

[root@justin bin]# echo "Samba test file2" >/home/IT/ddd.txt

、修改主配置檔案/etc/samba/smb.conf

    #======================= GlobalSettings =====================================

    [global]

    workgroup = WORKGROUP  //

    server string = Justin peng SambaServer Version %v  //

    netbios name = Justin_peng_Samba  //

    # --------------------------- LoggingOptions -----------------------------

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

    # ----------------------- StandaloneServer Options ------------------------

    security = user   //

使用者級别,由提供服務的Samba伺服器負責檢查賬戶和密碼

           passdb backend = tdbsam

    [homes]    //

設定使用者宿主目錄

            comment = HomeDirectories

            browseable = no

            writable = yes

    ;       valid users = %S

    ;       valid users = MYDOMAIN\%S

    # -----------------------

    [public]

    public = yes

    [IT]  //IT

組目錄,隻允許ts組成員通路

    comment = IT

    path = /home/it

    valid users = @IT

    [root@justin bin]# /etc/init.d/smbreload

重新載入 smb.conf檔案:                                   [确定]

    [root@justin bin]# testparm

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

    rlimit_max: increasing rlimit_max(1024) to minimum Windows limit (16384)

    Processing section"[homes]"

    Processing section"[printers]"

    Processing section"[public]"

    Processing section"[IT]"

    Loaded services file OK.

    Server role: ROLE_STANDALONE

    Press enter to see a dump of yourservice definitions

        netbios name =JUSTIN_PENG_SAMBA

        server string = Justin peng SambaServer Version %v

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

        max log size = 50

        cups options = raw

    [homes]

        comment = Home Directories

        read only = No

        browseable = No

    [printers]

        comment = All Printers

        path = /var/spool/samba

        printable = Yes

        comment = Public Stuff

        path = /home/share

        guest ok = Yes

    [IT]

        comment = IT

        path = /home/IT

        valid users = @IT

    [root@justin bin]#

直接在運作裡輸入:\\10.15.72.38輸入登陸資訊

153017298.png

進入後有三個目錄,public之前共享的目錄,it本執行個體的共享,justin1登陸使用者的主目錄,這是主配置檔案中[home]選項定

Tips:windows

下檢視和清除通路共享資訊:

net use

net use \\10.15.72.38\it /del

[root@justin ~]# smbclient //10.15.72.38/IT -U justin1%justin

  .                                   D        0 Tue Dec 17 16:31:08 2013

  ..                                  D        0 Tue Dec 17 16:30:47 2013

  aaa.txt                                     16  Tue Dec 17 16:31:26 2013

  bbb.txt                                     16  Tue Dec 17 16:31:30 2013

        62915 blocks of size 131072. 58553 blocksavailable

案例三、實作不同的使用者通路同一個共享目錄具有不同的權限

需求:

公司有5個部門,分别為:人事行政部(HR &

Admin Dept)、财務部(Financial Management Dept)、技術支援部(Technical Support Dept)、項目部(Project Dept)、客服部(Customer Service Dept)。

各部門的檔案夾隻允許本部門員工有權通路;各部門之間交流性質的檔案放到公用檔案夾中。

每個部門都有一個管理本部門檔案夾的管理者賬号和一個隻能建立和檢視檔案的普通使用者權限的賬号。

公用檔案夾中分為存放工具的檔案夾和存放各部門共享檔案的檔案夾。

5.

對于各部門自己的檔案夾,各部門管理者具有完全控制權限,而各部門普通使用者可以在該部門檔案夾下建立檔案及檔案夾,并且對于自己建立的檔案及檔案夾有完全控制權限,對于管理者建立及上傳的檔案和檔案夾隻能通路,不能更改和删除。不是本部門使用者不能通路本部門檔案夾。

6.

對于公用檔案夾中的各部門共享檔案夾,各部門管理者具有完全控制權限,而各部門普通使用者可以在該部門檔案夾下建立檔案及檔案夾,并且對于自己建立的檔案及檔案夾有完全控制權限,對于管理者建立及上傳的檔案和檔案夾隻能通路,不能更改和删除。本部門使用者(包括管理者和普通使用者)在通路其他部門共享檔案夾時,隻能檢視不能修改删除建立。對于存放工具的檔案夾,隻有管理者有權限,其他使用者隻能通路。

規劃:

在/home下建立以下幾個檔案夾:HR、 FM、TS、PRO、CS和Share。在Share下又有以下幾個檔案夾:HR、FM、TS、PRO、CS和Tools。

各部門對應的檔案夾由各部門自己管理,Tools檔案夾由管理者維護。

3. HR

管理者賬号:hradmin;普通使用者賬号:hruser。

  FM

管理者賬号:fmadmin;普通使用者賬号:fmuser。

  TS

管理者賬号:tsadmin;普通使用者賬号:tsuser。

  PRO

管理者賬号:proadmin;普通使用者賬号:prouser。

  CS

管理者賬号:csadmin;普通使用者賬号:csuser。

  Tools

管理者賬号:admin。091850710.png

建立使用者并加入到samba賬戶中:

[root@justin ~]# useradd -s /sbin/nologin hradmin

[root@justin ~]# useradd -g hradmin -s /sbin/nologin hruser

[root@justin ~]# useradd -s /sbin/nologin fmadmin

[root@justin ~]# useradd -g fmadmin -s /sbin/nologin fmuser

[root@justin ~]# useradd -s /sbin/nologin tsadmin

[root@justin ~]# useradd -g tsadmin -s /sbin/nologin tsuser

[root@justin ~]# useradd -s /sbin/nologin proadmin

[root@justin ~]# useradd -g proadmin -s /sbin/nologin prouser

[root@justin ~]# useradd -s /sbin/nologin csadmin

[root@justin ~]# useradd -g csadmin -s /sbin/nologin csuser

[root@justin ~]# useradd -s /sbin/nologin admin

[root@justin ~]# smbpasswd -a hradmin

Added user hradmin.

[root@justin ~]# smbpasswd -a hruser

[root@justin ~]# smbpasswd -a fmadmin

[root@justin ~]# smbpasswd -a fmuser

[root@justin ~]# smbpasswd -a tsadmin

[root@justin ~]# smbpasswd -a tsuser

[root@justin ~]# smbpasswd -a proadmin

[root@justin ~]# smbpasswd -a prouser

[root@justin ~]# smbpasswd -a csadmin

[root@justin ~]# smbpasswd -a csuser

[root@justin ~]# smbpasswd -a admin

建立目錄并修改目錄歸屬:

[root@justin ~]# mkdir /home/{HR,FM,TS,PRO,CS,Share/{HR,FM,TS,PRO,CS,Tools}}-p

[root@justin home]# chown hradmin:hradmin HR && chown fmadmin:fmadminFM && chown tsadmin:tsadmin TS && chown proadmin:proadmin PRO&& chown csadmin:csadmin CS && chown admin:admin Share

[root@justin home]# ll -d /home/{HR,FM,TS,PRO,CS,Share}

drwxr-xr-x 2 csadmin  csadmin  4096 12

月17 17:19/home/CS

drwxr-xr-x 2 fmadmin  fmadmin  4096 12

月17 17:19/home/FM

drwxr-xr-x 2 hradmin  hradmin  4096 12

月17 17:19/home/HR

drwxr-xr-x 2 proadmin proadmin 4096 12

月17 17:19/home/PRO

drwxr-xr-x 8 admin    admin    4096 12

月17 17:21/home/Share

drwxr-xr-x 2 tsadmin  tsadmin  4096 12

月17 17:19/home/TS

[root@justin home]# cd Share/

[root@justin Share]# chown hradmin:hradmin HR && chown fmadmin:fmadminFM && chown tsadmin:tsadmin TS && chown proadmin:proadmin PRO&& chown csadmin:csadmin CS && chown admin:admin Tools

[root@justin Share]# ll -d {HR,FM,TS,PRO,CS,Tools}

月17 17:21CS

月17 17:21FM

月17 17:21HR

月17 17:21PRO

drwxr-xr-x 2 admin    admin    4096 12

月17 17:21Tools

月17 17:21TS

[root@justin Share]# chmod 1775 CS FM HR PRO TS

[root@justin Share]# ll

總用量24

drwxrwxr-t 2 csadmin  csadmin  4096 12

drwxrwxr-t 2 fmadmin  fmadmin  4096 12

drwxrwxr-t 2 hradmin  hradmin  4096 12

月18 10:02HR

drwxrwxr-t 2 proadmin proadmin 4096 12

drwxrwxr-t 2 tsadmin  tsadmin  4096 12

[root@justin Share]# cd ..

[root@justin home]# chmod 1770 HR FM TS PRO CS

[root@justin home]# chmod -R 0775 Share/

[root@justin home]# ll -d FM HR TS PRO CS

drwxrwx--T 2 csadmin  csadmin  4096 12

月18 13:51CS

drwxrwx--T 2 fmadmin  fmadmin  4096 12

月17 17:19FM

drwxrwx--T 2 hradmin  hradmin  4096 12

月18 13:47HR

drwxrwx--T 2 proadmin proadmin 4096 12

月17 17:19PRO

drwxrwx--T 2 tsadmin  tsadmin  4096 12

月17 17:19TS

[root@justin home]# ll Share/

drwxrwxr-x 2 csadmin  csadmin  4096 12

drwxrwxr-x 2 fmadmin  fmadmin  4096 12

drwxrwxr-x 2 hradmin  hradmin  4096 12

drwxrwxr-x 2 proadmin proadmin 4096 12

drwxrwxr-x 2 admin    admin    4096 12

drwxrwxr-x 2 tsadmin  tsadmin  4096 12

[root@justin home]#

修改Samba主配置檔案/etc/samba/smb.conf:

security = user   //

       passdb backend = tdbsam

[homes]    //

        browseable = no

        writable = yes

;       valid users = %S

;       valid users = MYDOMAIN\%S

[IT]   //IT

comment = IT

path = /home/it

valid users = @IT

[root@justin bin]# /etc/init.d/smb reload

重新載入 smb.conf 檔案:                                   [确定]

Processing section "[IT]"

    server string = Justin peng SambaServer Version %v

[IT]

    path = /home/IT

[HR]

     comment = This is a directory ofHR.

     path = /home/HR/

     public = no

     admin users = hradmin

     valid users = @hradmin

     writable = yes     ;

是允許這個目錄可寫,是mask首要條件。

     create mask = 0750   ;

表示建立檔案的權限,最前面的0是:sticky、suid 和 sgid 位.

     directory mask = 0750   ;

表示建立目錄即檔案夾的權限

[FM]

     comment = This is a directory ofFM.

     path = /home/FM/

     public = no

     admin users = fmadmin

     valid users = @fmadmin

     writable = yes

     create mask = 0750

     directory mask = 0750

[TS]

     comment = This is a directory ofTS.

     path = /home/TS/

     admin users = tsadmin

     valid users = @tsadmin

[PRO]

     comment = This is a PROdirectory.

     path = /home/PRO/

     admin users = proadmin

     valid users = @proadmin

[CS]

     comment = This is a directory ofCS.

     path = /home/CS/

     admin users = csadmin

     valid users = @csadmin

[Share]

     comment = This is a sharedirectory.

     path = /home/Share/

     valid users =admin,@hradmin,@fmadmin,@tsadmin,@proadmin,@csadmin

     create mask = 0755

     directory mask = 0755

[root@justin Share]# /etc/init.d/smb restart

[root@justin Share]# /etc/init.d/nmb restart

關閉 NMB 服務:                                            [确定]

啟動 NMB 服務:                                            [确定]

[root@justin Share]#

驗證:

以使用者hradmin登陸

095941881.png

進入hr、/share/hr目錄後可以進行添加、删除、修改操作,進入非hr目錄回彈出登陸筐,隻有輸入對應賬戶才可以進入,可以進入share下所有目錄,但是除了hr目錄外均無法建立新檔案,提示無權限,

100606950.png

其他使用者登陸經驗證與要求一緻

繼續閱讀