1。首先服務器採用用戶驗證的方式,每一個用戶能夠訪問本身的宿主目錄,而且只有該用戶能訪問宿主目錄,並具備徹底的權限,而其餘人不能看到你的宿主目錄。linux
2。創建一個caiwu的文件夾,但願caiwu組和lingdao組的人能看到,network02也能夠訪問,但只有caiwu01有寫的權限。windows
3。創建一個lindao的目錄,只有領導組的人能夠訪問並讀寫,還有network02也能夠訪問,但外人看不到那個目錄服務器
4。創建一個文件交換目錄exchange,全部人都能讀寫,包括guest用戶,但每一個人不能刪除別人的文件。網絡
5。創建一個公共的只讀文件夾public,全部人只讀這個文件夾的內容。測試
好,咱們先來前期的工做加密
創建3個組:
#groupadd caiwu.net
#groupadd networkunix
#groupadd lingdaorest
添加用戶並加入相關的組當中:
#useradd caiwu01 -g caiwuorm
#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密碼
使用
一、windows用戶
在個人電腦地址欄裏輸入\\192.168.1.1訪問;也可windows+R輸入\\192.168.1.1;
登陸後能夠右擊映射到本地驅動器。
net use * /delete
二、linux
(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
sudo /etc/init.d/smbd restart