Samba服務器(多用戶組、多用戶有不同的訪問權限)


1。首先服務器採用用戶驗證的方式,每個用戶可以訪問自己的宿主目錄,並且只有該用戶能訪問宿主目錄,並具有完全的權限,而其他人不能看到你的宿主目錄。

2。建立一個caiwu的文件夾,希望caiwu組和lingdao組的人能看到,network02也可以訪問,但只有caiwu01有寫的權限。

3。建立一個lindao的目錄,只有領導組的人可以訪問並讀寫,還有network02也可以訪問,但外人看不到那個目錄

4。建立一個文件交換目錄exchange,所有人都能讀寫,包括guest用戶,但每個人不能刪除別人的文件。

5。建立一個公共的只讀文件夾public,所有人只讀這個文件夾的內容。

好,我們先來前期的工作

建立3個組:
#groupadd caiwu

#groupadd network

#groupadd lingdao


添加用戶並加入相關的組當中:
#useradd caiwu01 -g caiwu

#useradd caiwu02 -g caiwu

#useradd network01 -g network

#useradd network02 -g network

#useradd lingdao01 -g lingdao

#useradd lingdao02 -g lingdao

然後我們使用smbpasswd -a caiwu01的命令爲6個帳戶分別添加到samba用戶中

#mkdir /home/samba

#mkdir /home/samba/caiwu

#mkdir /home/samba/lingdao

#mkdir /home/samba/exchange

#mkdir /home/samba/public

我們爲了避免麻煩可以在這裏把上面所有的文件夾的權限都設置成777,我們通過samba靈活的權限管理來設置上面的5點要求。

以下是我的smb.conf的配置文件

[global]

workgroup = bmit

#我的網絡工作組

server string = Frank's Samba File Server

#我的服務器名描述

security = user

#使用用戶驗證機制

encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
#使用加密密碼機制,在win95和winnt使用的是明文

其他的基本上可以按照默認的來。

[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S
create mode = 0664
directory mode = 0775

#homes段滿足第1條件

[caiwu]
comment = caiwu
path = /home/samba/caiwu
public = no
valid users = @caiwu,@lingdao,network02
write list = caiwu01
printable = no

#caiwu段滿足我們的第2要求

[lingdao]
comment = lingdao
path = /home/samba/lingdao
public = no
browseable = no
valid users = @lingdao,network02
printable = no

#lingdao段能滿足我們的第3要求

[exchage]
comment = Exchange File Directory
path = /home/samba/exchange
public = yes
writable = yes

#exchange段基本能滿足我們的第4要求,但不能滿足每個人不能刪除別人的文件這個條件,即使裏設置了mask也是沒用,其實這個條件只要unix設置一個粘着位就行

chmod -R 1777 /home/samba/exchange

注意這裏權限是1777,類似的系統目錄/tmp也具有相同的權限,這個權限能實現每個人能自由寫文件,但不能刪除別人的文件這個要求

[public]
comment = Read Only Public
path = /home/samba/public
public = yes
read only = yes

#這個public段能滿足我們的第5要求。

到此爲止我們的設置已經能實現我們的共享文件要求,記得重啓服務哦

#/etc/rc.d/init.d/smb restart

如果大家沒有winodws,不妨先用samba的cilent端命令來測試一下

命令的用法我在這裏只舉幾個例子,具體的大家去試驗

smbclient -L 服務器ip -N

guest帳戶查詢你的服務器的samba共享情況,你可以檢驗一下是否lingdao目錄時候能被guest帳戶看到,應該是看不到的,當然你也可以以某個用戶的名義查看

smbclient -L 服務器ip -U caiwu01

系統會提示密碼,只要輸入smb密碼就行。

smbclient //服務器ip/caiwu -U caiwu01

#以caiwu01用戶的名義登錄caiwu目錄

smbmount //服務器ip/caiwu /mnt/caiwu -o username=caiwu01

#把服務器的財務目錄映射到本地的/mnt/caiwu目錄。

測試

smbclient -L //localhost/share 或者 
  smbclient-L \\127.0.0.1 -Umyname //這時輸入的密碼就是你剛纔設置的samba密碼

使用

1windows用戶
在我的電腦地址欄裏輸入\\192.168.1.1訪問;也可windows+R輸入\\192.168.1.1

登錄後可以右擊映射到本地驅動器。

net use * /delete
2linux

(1)使用smbclient

#smbclient//192.168.1.1/Normal -U user%passwd
(2)掛載到某個目錄使用
#mkdir/mnt/share
#mount -o username=youruser,password=passwd //192.168.1.1/Normal  /mnt/share

設置開機掛載將如下命令寫入/etc/fstab

//192.168.1.1/share  /mnt/ml45  cifs  defaults,auto,username=youruser,password=passwd 0 0


然後#mount -a




發佈了16 篇原創文章 · 獲贊 0 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章