站長資訊網
        最全最豐富的資訊網站

        Samba服務權限配置案例

        文件共享是在企業辦公網絡中經常用到的一項功能,如何設置并使用文件共享在技術上并不復雜,其中的問題主要集中在權限配置方面。
        本文以世界技能大賽網絡系統管理賽項中的一道題目作為案例,詳細分析了如何利用Samba服務結合系統權限來完成各種復雜的權限設置,本文所采用的系統版本為CentOS7。

        1. 任務需求與分析

        將/share/archive目錄創建為samba共享,并完成下列要求:
        ① 共享名為archive;
        ② zhangsan,lisi,wangwu用戶都能通過輸入用戶名和密碼(Skills39)登錄并上傳文件;
        ③ 其他人不能訪問共享目錄;
        ④ zhangsan能夠查看和刪除所有人的文件;
        ⑤ lisi能夠查看所有人的文件,但不能刪除別人的文件;
        ⑥ wangwu只能查看和刪除自己的文件,不能查看和刪除別人的文件;
        在這6項需求中,第1、2、3項需求屬于Samba服務的常規配置,實現起來較為簡單;第4、5、6項需求主要是針對不同用戶的權限設置,需要結合系統權限完成配置,實現起來較為復雜。下面就從這兩個方面分別進行分析。

        2. Samba常規配置

        在CentOS7系統中所提供的Samba版本為4.6.2,軟件默認沒有安裝,首先執行下列命令安裝、啟動服務,并將之設為開機自動運行。

        # yum install samba
        # systemctl start smb
        # systemctl enable smb

        Samba的配置文件為“/etc/samba/smb.conf”,下面在配置文件中定義共享,相關設置項如圖1所示。

        Samba服務權限配置案例

        對設置項的解釋:
        ? [archive]:指定共享名,也就是客戶端在訪問時所看到的共享目錄名字。
        ? path:指定共享目錄在服務器中對應的實際路徑,要求必須使用絕對路徑。
        ? valid users:只允許指定的Samba用戶訪問該共享。
        ? writable:共享目錄是否允許Samba用戶寫入。這里雖然設置了所有Samba用戶都可以寫入,但由于“valid users”設置項限制了只有指定的三個用戶可以訪問共享,因而實際上也只有這三個用戶可以寫入。
        配置完成后,保存退出。
        下面創建共享目錄,并將其權限設為777。

        # mkdir -p /share/archive
        # chmod 777 /share/archive

        接下來再創建Samba用戶。由于Samba用戶要以系統用戶為基礎,因而需要先創建出系統用戶之后,再將其添加為Samba用戶。這里為了進行測試,額外再創建一個Samba用戶maliu。

        # useradd -s /sbin/nologin zhangsan
        # useradd -s /sbin/nologin lisi
        # useradd -s /sbin/nologin wangwu
        # useradd -s /sbin/nologin maliu

        下面將這些系統用戶添加為Samba用戶,同時需要為每位用戶指定密碼。需要注意的是,Samba用戶的密碼與系統用戶的密碼沒有任何關系。

        # smbpasswd -a zhangsan
        # smbpasswd -a lisi
        # smbpasswd -a wangwu
        # smbpasswd -a maliu

        最后,可以通過執行“pdbedit -L”命令列表顯示目前系統中已經存在的所有Samba用戶。

        # pdbedit -L
        zhangsan:1009:
        lisi:1010:
        wangwu:1011:
        maliu:1012:

        至此,Samba的常規配置就完成了,執行“systemctl restart smb”命令重啟服務,使配置生效。然后可以在Windows或Linux客戶端進行訪問測試,用戶zhangsan、lisi、wangwu都可以訪問共享,并上傳文件,但用戶maliu沒有訪問共享的權限。具體測試過程從略。

        3. 權限設置

        下面再來完成第4、5、6項要求,這也是在這整個任務需求中最復雜的部分。將這三項需求進行歸納,核心問題主要有兩個:是否允許刪除別人的文件,是否允許讀取別人的文件。下面分別來解決這兩個問題。

        3.1 限制刪除別人的文件

        要完成這個任務,首先需要明確一個問題:在Linux系統中,用戶需要具有哪種權限,才可以將一個文件刪除。
        Linux系統規定,用戶只要對某個目錄具備“寫入(w)”權限,那么便可以修改或刪除該目錄中的任何文件,而不論這個文件的權限是什么。
        也就是說,用戶能否刪除一個文件,取決于用戶對文件所在的目錄是否具有寫入權限。由于我們將共享目錄/share/archive的系統權限設為了777,因而此時任何用戶都可以刪除該目錄中的任意文件。但在任務5和任務6中,又明確要求用戶lisi和wangwu不能刪除別人的文件,所以這里自然就想到了sbit粘滯位權限。
        sbit權限的作用是:當目錄被設置了sbit權限之后,即便用戶對目錄有“寫入(w)”權限,也不能刪除該目錄中其他用戶的文件,每個文件只有該文件的所有者和root用戶才有權將其刪除。
        因而下面需要為共享目錄/share/archive設置sbit權限:

        # chmod o+t /share/archive/
        # ll -d /share/archive/
        drwxrwxrwt. 2 root root 26 4月  28 20:32 /share/archive/

        這樣,所有的Samba用戶都可以向共享目錄中上傳文件,但是只能刪除自己的文件,而無法刪除別人的文件。
        但如此一來,又無法滿足任務4的需求了,用戶zhangsan也無法刪除別人的文件。到這里,思路好像進入了死胡同。
        其實關于sbit權限,還有一條規則是:對于目錄的所有者,可以不受sbit權限的限制,他可以刪除該目錄中所有用戶的文件。
        只要明白了該規則,問題自然就迎刃而解,我們只需將共享目錄的所有者更改為zhangsan即可。

        # chown zhangsan /share/archive/
        # ll -d /share/archive/
        drwxrwxrwt. 2 zhangsan root 26 4月  28 20:32 /share/archive/

        至此,關于能否刪除文件的需求就全部解決了。

        3.2 限制讀取別人的文件

        同之前一樣,要完成這個任務首先需要明確,用戶具有哪種權限才可以讀取文件。這個問題相對比較簡單,在Linux系統中,用戶只要對文件本身具有“讀取(r)”權限,那么便可以查看文件中的內容。
        綜合任務4、5、6這三項需求,用戶zhangsan和lisi可以讀取所有人的文件,而用戶wangwu則只能讀取自己的文件。下面是具體的實現過程。
        首先在Samba的配置文件“/etc/samba/smb.conf”中定義用戶上傳文件的默認權限,這里需要用到“create mask”設置項,將用戶上傳文件的默認權限設置為0640,也就是說只有文件的所有者以及所屬組用戶才具有讀取權限。相關設置項如圖2所示。

        Samba服務權限配置案例

        設置完成后,同樣需要執行“systemctl restart smb”命令重啟服務生效。
        接下來我們只需使得zhangsan和lisi能夠成為每個上傳文件的所屬組的成員即可,但是默認情況下,用戶所上傳文件的所屬組都是與該用戶同名的私有組,如果要使得所有用戶上傳文件的所屬組都能夠是同一個指定的用戶組,那么就需要為共享目錄設置SGID權限。
        SGID權限的作用是:如果針對目錄設置SGID,則在該目錄內所建立的文件或子目錄的所屬組,將統一被自動設置成此目錄的所屬組。
        比如我們在系統中創建一個名為admin的用戶組,并將其設為共享目錄/share/archive/的所屬組,然后再對/share/archive/目錄設置SGID權限,這樣用戶在共享目錄中上傳的所有文件,其默認的用戶組都統一被設置成了admin。

        # groupadd admin
        # chown :admin /share/archive/
        # chmod g+s /share/archive/
        # ll -d /share/archive
        drwxrwsrwt. 2 zhangsan admin 60 4月  29 10:01 /share/archive

        然后再將用戶zhangsan和lisi都加入到admin組即可。

        # gpasswd -a zhangsan admin
        # gpasswd -a lisi admin

        最后,分別以用戶zhangsan、lisi、wangwu的身份在目錄中上傳文件,其默認權限如圖3所示。

        Samba服務權限配置案例

        至此,這個綜合案例中的所有任務需求都已全部完成。對于Linux系統中的絕大多數服務,用戶在使用這些服務時的最終權限基本都是由兩個因素綜合決定的:一個因素是在服務配置文件中所做的相關設置,另一個因素則是系統權限。因而作為系統運維人員,必須要熟知服務配置和系統權限,這樣方能更好地滿足各種不同的實際工作需求。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 欧美亚洲精品在线| 国产成人精品免费大全| 国产精品1024香蕉在线观看 | 在线精品亚洲一区二区| 2023国产精品自拍| 91麻豆精品视频| 亚洲欧洲国产精品香蕉网| 国产精品高清2021在线| 成人国产精品999视频| 亚洲国产第一站精品蜜芽| 久久久久无码精品| 久久国产成人精品麻豆| 日韩精品亚洲人成在线观看| 免费精品久久久久久中文字幕 | 国产精品综合专区中文字幕免费播放| 亚洲av无码精品网站| 香蕉久久夜色精品国产小说| 无码少妇精品一区二区免费动态| 精品国产综合区久久久久久| 国产亚洲一区二区精品| 亚洲国产精品无码一线岛国| 久久精品国产亚洲5555| 亚洲精品人成在线观看| 国产精品日本一区二区不卡视频| 亚洲精品国产电影| 国产原创精品 正在播放| 欧美精品一本久久男人的天堂| 国产精品亚洲A∨天堂不卡| 在线精品亚洲一区二区小说| 久久精品国产亚洲Aⅴ香蕉| 国产精品粉嫩美女在线观看| 国产精品久久久久9999| 久久精品国产亚洲av麻豆色欲 | 99re6这里有精品热视频| 亚洲韩国精品无码一区二区三区| 免费精品久久久久久中文字幕| 国产精品区AV一区二区| 91精品国产色综久久| 国产精品亚洲精品| 国内精品久久久久久久97牛牛| 无码精品A∨在线观看|