Samba共享許可權分配
https://www.cnblogs.com/liuquan/p/5644760.html
案例推薦:http://www.cnblogs.com/mchina/archive/2012/12/18/2816717.html
本文不詳細介紹全部引數,只介紹完成需求的一些引數。
需求:
1,賬號建立:產研部門所有人員,產品、前端、後端、測試;
2,目錄建立:各二級部門分別建立以部門名稱為資料夾的目錄;
3,初步許可權管理:各部門成員對本部門目錄有讀寫許可權,對其他部門目錄有讀許可權;
4,建立共享目錄,所有人有增刪許可權
5,部門目錄結構自行定義
一、Samba的安裝
yum install samba.x86_64 samba-client.x86_64 samba-common.x86_64 samba-swat.x86_64
二、 賬戶建立,使用者組建立,相關目錄建立,目錄的屬主,屬組更改
a.建立每個部門的使用者組
?1 2 3 4 |
[[email protected] ~]# groupadd ceshi
[[email protected] ~]# groupadd chanpin
[[email protected] ~]# groupadd PHP
[[email protected] ~]# groupadd Android
|
b.先建立系統使用者,並加入自己的使用者組
[[email protected] ~]# useradd -g chanpin -s /sbin/nologin chanpinadmin
[[email protected] ~]# useradd -g chanpin -s /sbin/nologin chanpinuser
[[email protected] ~]# useradd -g ceshi -s /sbin/nologin ceshiadmin
[[email protected] ~]# useradd -g ceshi -s /sbin/nologin ceshiuser
[[email protected] ~]# useradd -g PHP -s /sbin/nologin phpadmin
[[email protected] ~]# useradd -g PHP -s /sbin/nologin phpuser
[[email protected] ~]# useradd -g Android -s /sbin/nologin androidadmin
[[email protected] ~]# useradd -g Android -s /sbin/nologin androiduser
c.建立samba使用者並給每個使用者設定密碼,要在系統建立完後才可以建立samba使用者 (smbpasswd -a $username命令是用於建立使用者和更改密碼的命令)
?1 2 3 4 5 |
[[email protected] ~]# smbpasswd -a chanpiadmin
New SMB password:
Retype
new
SMB password:
Added user chanpinuser.
[[email protected] ~]#
|
>依次建立每個團隊的使用者
?1 2 3 4 5 6 7 |
[[email protected] ~]# smbpasswd -a chanpinuser
[[email protected] ~]# smbpasswd -a phpadmin
[[email protected] ~]# smbpasswd -a phpuser
[[email protected] ~]# smbpasswd -a androidadmin
[[email protected] ~]# smbpasswd -a androiduser
[[email protected] ~]# smbpasswd -a ceshiadmin
[[email protected] ~]# smbpasswd -a ceshiuser
|
d.建立目錄,更改屬主
?1 2 3 4 |
[[email protected] Samba]# mkdir -p /letv/fet/Samba/ ceshi chanpin Android PHP<br>[[email protected] Samba]# chown androidadmin.Android Android/
[[email protected] Samba]# chown phpadmin.PHP PHP/
[[email protected] Samba]# chown chanpinadmin.chanpin chanpin
[[email protected] Samba]# chown ceshiadmin.ceshi ceshi/
|
1 2 3 4 5 6 |
[[email protected] Samba]# ll
total 36
drwxr-xr-x 5 androidadmin Android 4096 Jul 6 11:10 Android
drwxr-xr-x 3 ceshiadmin ceshi 4096 Jul 5 17:59 ceshi
drwxr-xr-x 5 chanpinadmin chanpin 4096 Jul 5 17:47 chanpin
drwxr-xr-x 4 phpadmin PHP 4096 Jul 5 18:27 PHP
|
三、更改配置檔案,實現許可權的分配
[[email protected] fet]# cp /etc/samba/smb.conf /etc/samba/bck_smb.conf
[[email protected] fet]# cd /etc/samba/
[[email protected] samba]# vi smb.conf
裡面的全域性配置可以保持預設就行,如果自己對效能或者其他的要求可以參考更全面的文章,我這邊沒有需求沒有全域性的更改。
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
#======================= Global Settings =====================================
[global]
# ----------------------- Network Related Options -------------------------
#
# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH
#
# server string is the equivalent of the NT Description field
#
# netbios name can be used to specify a server name not tied to the hostname
workgroup = WORKGROUP
server
string
= David Samba Server Version %v
netbios name = DavidSamba
# --------------------------- Logging Options -----------------------------
#
# Log File let you specify where to put logs and how to split them up.
log file = /
var
/log/samba/log.%m
max log size = 50
# ----------------------- Standalone Server Options ------------------------
#
# Scurity can be set to user, share(deprecated) or server(deprecated)
security = user
passdb backend = tdbsam
#============================ Share Definitions ==============================
#[homes]
# comment = Home Directories
# browseable = no
# writable = yes
; valid users = %S
; valid users = MYDOMAIN\%S
[共享目錄]
comment =
this
is
share
path = /letv/fet/Samba/share
writable = yes
admin users = @Android,@PHP,@chanpin,@ceshi
valid users = @Android,@PHP,@chanpin,@ceshi
create mask = 0777
directory mask = 0777
[PHP研發部門]
comment = This
is
php samba
path = /letv/fet/Samba/PHP
writable = yes
admin users = phpadmin,@PHP
valid users = @PHP,@Android,@chanpin,@ceshi
create mask = 0774
directory mask = 0775
[Android研發部門]
comment = This
is
Android samba
path = /letv/fet/Samba/Android
writable = yes
admin users = androidadmin,@Android
valid users = @PHP,@Android,@chanpin,@ceshi
create mask = 0774
directory mask = 0775
[產品部門]
comment = This
is
chanpin samba
path = /letv/fet/Samba/chanpin
writable = yes
admin users = chanpinadmin,@chanpin
valid users = @PHP,@Android,@chanpin,@ceshi
create mask = 0774
directory mask = 0775
[測試部門]
comment = This
is
ceshi samba
path = /letv/fet/Samba/ceshi
writable = yes
admin users = ceshiadmin,@ceshi
valid users = @PHP,@Android,@chanpin,@ceshi
create mask = 0774
directory mask = 0775
directory mask = 0775
|
comment 對這個共享目錄的介紹,可以自定義
path 共享目錄路徑
writable 是否允許寫入,yes/no
admin users 共享目錄的管理員使用者直接填寫,多個使用者或者組需要用","號分隔開,@開頭的表示是分組,”admin users = ceshiadmin,@ceshi“表示管理員包含 ceshiadmin使用者和ceshi組裡面的成員.
valid users 允許訪問的使用者
create mask = 0774 Samba使用者在所在目錄建立檔案的許可權 0774許可權算是比較大的了,因為我這邊需要給所有人可以檢視開啟,所以是-rwxrw-r--
directory mask = 0775 Samba使用者在所在目錄建立資料夾的許可權 0775 因為我這邊需要給所有人可以檢視開啟,資料夾需要有執行的許可權,所以是drwxrwxr-x
然後就測試
\\192.169.1.100
本部門檔案可以隨意操作,其他部門如下:
切換賬戶測試的時候,Windows會有samba快取自動登入原來的賬戶,需要清理一下
清除方法:
右擊計算機--管理--服務和應用程式--服務--Workstation 重啟服務清除快取。
頻繁切換賬戶可能會出現短時間內無法訪問的情況,會提示網路問題導致無法訪問,此時可以換臺PC測試或者多等待一下。
(使用 SMB 協議建立並維護客戶端網路與遠端伺服器之間的連線。如果此服務已停止,這些連線將無法使用。如果此服務已禁用,任何明確依賴它的服務將無法啟動。)
ok完成~