1. 程式人生 > >Linux運維學習之多用戶SAMBA掛載

Linux運維學習之多用戶SAMBA掛載

samba

SAMBA是一種局域網上共享文件和打印機的一種通信協議,它為局域網內的不同計算機之間提供文件及打印機等資源的共享服務。SMB協議是客戶機/服務器型協議,客戶機通過該協議可以訪問服務器上的共享文件系統、打印機及其他資源。

SAMBA共享默認只支持同時用一個用戶掛載SMB共享,CentOS7中可啟用多用戶掛載功能客戶端掛載samba共享目錄後,在客戶端登錄的不同用戶,訪問同一個samba的掛載點,可獲得不同權限,這樣可以有效的管理和利用共享的功能來進行網絡中的文件傳輸。

本次實驗就是針對centos7的功能特性來進行的。

第一步安裝samba,服務器配置

       yum install samba
    systemctl start nmb smb

服務進程:

smbd 提供smb( cifs)服務 TCP:139,445

nmbd NetBIOS名稱解析 UDP:137,138

有的人可能問了,你怎麽知道是這兩個服務的呢?其實當我們安裝好一個包之後,我們可以使用rpm -ql samba來查看我們安裝這個包之後,具體都安裝了什麽文件,我們可以在其中發現它的配置文件和服務名等等我們可以對其進行修改的文件,比如我們的samba包的服務名就是:

/usr/lib/systemd/system/nmb.service

/usr/lib/systemd/system/smb.service

所以啟動他們的兩個服務就ok了!

        systemctl start nmb smb

然後確定共享的目錄文件,比如/app/share,所以配置文件中我們這樣寫:

        vim /etc/samba/smb.conf
        [smbshare]
    path=/app/share        #指定共享文件夾
    writable=no            #可寫開啟
    write list= @admins    #可寫組為admins組,@為組,不加@是用戶

創建samba用戶,和mysql一樣,我們的samba的用戶和linux的用戶不是一回事,當然samba用戶的機制和mysql的機制也不一樣,如果要成為一個samba賬號,必須是linux賬號,而mysql就沒有這方面的限制了。

        useradd –s /sbin/nologin smbuser1  #創建一個不可登錄的linux賬號
    smbpasswd -a smbuser1      #把linux賬號加入smb賬號,需要輸入密碼
    smbpasswd -x  smbuser1   #這條命令是刪除創建的smb賬號
    gpasswd -a smbuser1 admins     #加入smbuser1到admins

在此我加入了三個賬號smbuser1,smbuser2,smbuser3到samba裏,可以使用pdbedit -L 查看有哪些samba賬號,當我們創建好這幾個目錄之後,就差不多可以訪問了,我們的samba服務和windows的訪問查看不win+R,\\ip 可以查看共享的目錄,他們就可以瞅見自己的家目錄了。

好奇心強的朋友,肯定已經開始嘗試了,不過發現密碼輸入一次之後,再次登錄直接進去了,無法進入smbuser2的賬號上查看,這時候我們可以進入win+R的cmd中,使用net use查看,發現有一個遠程連接在那,使用net use \\ip\ipc$ /del刪除即可。

接下來就是我們的設置目錄權限和selinux的,關於selinux我們直接使用了關閉,因為在實驗中,不關閉有可能出現一些無法解決的位置錯誤,如果不嫌麻煩可以設置一下ACL權限,或者777的目錄權限

        setfacl -m g:admins:rwx /app/share/   #給admins組權限

然後我們使用samba客戶端啟用多用戶掛載

        yum -y cifs-utils
    mkdir /mnt/smb
    echo ‘username=smbuser1‘ >/etc/multiuser   #賬號寫入/etc/multiuser
    echo ‘password=centos‘ >>/etc/multiuser    #密碼寫入/etc/multiuser
    vim /etc/fstab                             #寫入/etc/fstab開機啟動
    //smbserver/smbshare /mnt/smb cifs credentials=/etc/multiuser,multiuser,sec=ntlmssp
     0 0               #cifs是掛載的格式,後面是選項credentials使用PATH賬號密碼
     mount -a

掛載完了之後,要客戶端和服務器端一樣的賬戶useradd smbuser1,2,3,然後我們得多用戶的就完成了!



Linux運維學習之多用戶SAMBA掛載