Linux—CentOS7,玩轉samba服務,基於身份驗證的共享

以實例配置驗證samba服務
題目:
公司有3個部門,財務、人事、技術。
要求:
1、每個部門在文件服務器上都有一個公共文件夾,該文件夾只能被相應部門的員工訪問,並向裏面寫文件,但是不能互刪,也不能被非本部門員工訪問。
2、每個員工在文件服務器上有一個自己獨立的文件夾,該文件夾只能被該員工本人訪問,其它任何人沒有訪問權限。
3、服務器上有一個人事部門用於發佈公司通告的公共文件夾,該文件夾可以被公司所有員工查看,但只有人事部門的經理能管理文件。
4、技術部有3個人,j02、j02、j03,每個人有一個目錄,該目錄只有其本人可以上傳、修改、刪除文件,其它人只能看。
5、對能夠上傳文件的用戶做磁盤配額,防止硬盤撐爆。

解題:
-------------------第一步:準備工作-------------------
//準備工作1:將sda2和sda5分別掛在opt目錄和home目錄,以便最後一個操作:磁盤配額------
[root@localhost ~]# df -hT //如圖顯示
Linux—CentOS7,玩轉samba服務,基於身份驗證的共享
//準備工作2:將防火牆與selinux關閉----
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0 //此時會提示"SElinux is disabled"
[root@localhost ~]# systemctl status firewalld //檢查防火牆狀態(確認爲inactive(dead))
//如圖顯示
Linux—CentOS7,玩轉samba服務,基於身份驗證的共享

------------------第二步:建立目錄、組、帳戶並配置相應的權限-----------------
//建立三個組:caiwu、renshi、jishu
[root@localhost ~]# groupadd caiwu
[root@localhost ~]# groupadd renshi
[root@localhost ~]# groupadd jishu
[root@localhost ~]# cat /etc/group //檢查是否創建成功
//在opt目錄建立三個目錄
[root@localhost ~]# cd /opt
[root@localhost opt]# mkdir caiwu renshi jishu
[root@localhost opt]# ls //查看是否建立成功
//修改目錄屬性
[root@localhost opt]# ls -l //查看目錄屬性 //如圖顯示
Linux—CentOS7,玩轉samba服務,基於身份驗證的共享
[root@localhost opt]# chown :caiwu caiwu //修改目錄屬組
[root@localhost opt]# chown :jishu jishu
[root@localhost opt]# chown :renshi renshi
[root@localhost opt]# ls -l //查看目錄屬性 //如圖顯示
Linux—CentOS7,玩轉samba服務,基於身份驗證的共享
[root@localhost opt]# chmod 1770 caiwu //修改目錄權限
[root@localhost opt]# chmod 1770 jishu
[root@localhost opt]# chmod 1770 renshi
[root@localhost opt]# ls -l //查看目錄屬性 //如圖顯示
Linux—CentOS7,玩轉samba服務,基於身份驗證的共享
[root@localhost opt]# mkdir rpublic //建立人事部公共目錄
[root@localhost opt]# ls -l //查看目錄屬性
[root@localhost opt]# chown r01 rpublic/ //修改人事部公共目錄屬主
[root@localhost opt]# ls -l //查看人事部公共目錄屬性 //如圖顯示
Linux—CentOS7,玩轉samba服務,基於身份驗證的共享
//人事部建立三個用戶,並將r01定義爲人事經理
[root@localhost opt]# useradd -g renshi -s /sbin/nologin r01
[root@localhost opt]# useradd -g renshi -s /sbin/nologin r02
[root@localhost opt]# useradd -g renshi -s /sbin/nologin r03
//財務部建立三個用戶
[root@localhost opt]# useradd -g caiwu -s /sbin/nologin c01
[root@localhost opt]# useradd -g caiwu -s /sbin/nologin c02
[root@localhost opt]# useradd -g caiwu -s /sbin/nologin c03
//技術部建立三個用戶
[root@localhost opt]# useradd -g jishu -s /sbin/nologin j01
[root@localhost opt]# useradd -g jishu -s /sbin/nologin j02
[root@localhost opt]# useradd -g jishu -s /sbin/nologin j03
[root@localhost opt]# cat /etc/passwd //查看用戶是否建立成功
//在opt目錄下建立j01、j02、j03的目錄
[root@localhost opt]# mkdir j01 j02 j03
[root@localhost opt]# ls -l //查看目錄屬性 //如圖顯示
Linux—CentOS7,玩轉samba服務,基於身份驗證的共享
[root@localhost opt]# chown j01 j01 //修改三個目錄的屬主爲用戶本身
[root@localhost opt]# chown j02 j02
[root@localhost opt]# chown j03 j03
[root@localhost opt]# ls -l //查看目錄屬性 //如圖顯示
Linux—CentOS7,玩轉samba服務,基於身份驗證的共享

------------------第三步:配置samba服務器---------------------------
//基於用戶驗證的共享
[root@localhost ~]# vi /etc/samba/smb.conf
//查找這一行,確認security = user
保存退出
[root@localhost opt]# yum install -y samba //安裝samba服務器
[root@localhost opt]# cd /etc/samba
[root@localhost samba]# ls //查看哪個是samba服務器配置文件
[root@localhost samba]# cp smb.conf smb.conf.bak //將配置文件備份
[root@localhost samba]# vi smb.conf //修改samba服務器配置文件
最後添加三組:
[caiwu]
path = /opt/caiwu //共享目錄的路徑
valid users = @caiwu //允許訪問的組
write list = @caiwu //允許寫入的組

[renshi]
path = /opt/renshi
valid users = @renshi
write list = @renshi

[jishu]
path = /opt/jishu
valid users = @jishu
write list = @jishu
create mask = 0440 //設置文件權限,屬主與屬組只能訪問不能修改,其它人不能訪問
directory mask = 0550 //設置文件夾權限,屬主與屬組只能訪問與執行不能修改,其它人不能訪問
[rpublic]
path = /opt/rpublic
public = yes //允許目錄權限下所有人訪問
write list = r01
[jishu01]
path = /opt/j01
write list = j01
public = yes

[jishu02]
path = /opt/j02
write list = j02
public = yes

[jishu03]
path = /opt/j03
write list = j03
public = yes
保存退出
[root@localhost samba]# testparm //檢查語法有無錯誤 //如圖
Linux—CentOS7,玩轉samba服務,基於身份驗證的共享
[root@localhost samba]# systemctl start smb //啓動smb服務
[root@localhost samba]# netstat -anpt | grep smb //過濾檢查smb服務端口是否正常 //如圖
Linux—CentOS7,玩轉samba服務,基於身份驗證的共享
//將三個部門的用戶加入到samba服務器,並設置密碼
[root@localhost samba]# pdbedit -a r01 //輸入密碼,該密碼爲用戶的samba數據庫密碼
[root@localhost samba]# pdbedit -a r02
[root@localhost samba]# pdbedit -a r03
[root@localhost samba]# pdbedit -a c01
[root@localhost samba]# pdbedit -a c02
[root@localhost samba]# pdbedit -a c03
[root@localhost samba]# pdbedit -a j01
[root@localhost samba]# pdbedit -a j02
[root@localhost samba]# pdbedit -a j03
[root@localhost samba]# pdbedit -L //查看samba數據庫用戶 //如圖
Linux—CentOS7,玩轉samba服務,基於身份驗證的共享
[root@localhost samba]# systemctl restart smb //重啓samba服務

----------------第四步:測試驗證------------------------
//人事部公共目錄下,寫入文件,給其它帳戶測試
[root@localhost samba]# ls --help > /opt/rpublic/test.txt
在微軟客戶下

  1. 運行—輸入linux服務器IP地址,例如:\192.168.80.180 回車 //如圖顯示
    Linux—CentOS7,玩轉samba服務,基於身份驗證的共享
  2. 彈出窗口需輸入samba服務器帳號與密碼進入 //如圖顯示
    Linux—CentOS7,玩轉samba服務,基於身份驗證的共享
  3. 進入後可以看到所有的文件夾,並且進入自己的目錄及屬組目錄查看驗證
    //如圖顯示
    Linux—CentOS7,玩轉samba服務,基於身份驗證的共享
  4. 進入自己的目錄上傳文件應該是沒有問題的,進入別人的目錄修改文件或刪除文件應該是不允許的
  5. 如果要進入別的部門的目錄,會提示要輸入其它部門的帳戶
    //注意:如果進不了目錄或者其它問題
    //解決方案:運行—cmd—回車,輸入"net use /d "回車,表示清除共享訪問緩存,多清幾次,待五秒以上,再重新登錄測試
    共享目錄要先關掉,另外samba服務器重啓,"systemctl restart smb"
    6.切換其它用戶測試文件的權限,用命令“net use /d
    ”清除緩存,再重新進,共享目錄先要關掉

----------------第五步:做磁盤配額----------------------
//以j01組爲例
//微軟cmd下執行“net use /d *”,清除緩存
[root@localhost samba]# systemctl restart smb //重啓samba服務
[root@localhost samba]# umount /opt //卸載opt目錄
[root@localhost samba]# mount -o uquota,gquota /dev/sda2 /opt/ //重新掛載opt目錄
[root@localhost samba]# mount //查看是否掛載成功 //如圖顯示
Linux—CentOS7,玩轉samba服務,基於身份驗證的共享
[root@localhost samba]# df -hT //查看硬盤設備情況
[root@localhost samba]# edquota -g jishu //對jishu組設置組配額
//詳細設置如圖顯示
Linux—CentOS7,玩轉samba服務,基於身份驗證的共享
[root@localhost samba]# repquota /opt //查看該組配額詳細信息及使用情況 //如圖顯示
Linux—CentOS7,玩轉samba服務,基於身份驗證的共享
[root@localhost samba]# quotaon -p /opt //查看磁盤配額激活狀態 //如圖顯示
Linux—CentOS7,玩轉samba服務,基於身份驗證的共享
//驗證
進微軟客戶端,訪問某個共享文件夾,往裏面寫文件,直到寫滿彈出警告,測試成功
//一般情況下,對home目錄下的文件也做配額,否則也將把文件夾塞滿

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