環境
RedHat Linux 9 + VWWare 8.0 + SSH 3.2.9
任務要求
使 用Samba服務完成下面的任務:
假如公司有財務,技術,領導3個部門,我們 分別為3個部門建立3個用戶組為caiwu,network,lingdao;
三個部門裡各有 2個用戶,我們建用戶分別為caiwu01,caiwu02,network01,network02, lingdao01,lingdao02
1、首先服務器采用用戶驗證的方式,每個用戶可以訪 問自己的宿主目錄,並且只有該用戶能訪問宿主目錄,並具有完全的權限,而其 他人不能看到你的宿主目錄
2、建立一個caiwu的文件夾,希望caiwu組和 lingdao組的人能看到,network02也可以訪問,但只有caiwu01有寫的權限。
3、建立一個lindao的目錄,只有領導組的人可以訪問並讀寫,還有 network02也可以訪問,但外人看不到那個目錄
4、建立一個文件交換目錄 exchange,所有人都能讀寫,包括guest用戶,但每個人不能刪除別人的文件。
5、建立一個公共的只讀文件夾public,所有人只讀這個文件夾的內容。
驗證方法:
比如:以caiwu01用戶登錄SSH,然後用以下命令驗證samba服務配 置是否正確
smbclient //linuxIP/samba配置文件中中共享文件的名字
比如在SSH中輸入以下命令:smbclient //192.168.78.100/share
相關命令
1.建立3個組:
groupadd caiwu;
groupadd network;
groupadd lingdao;
2.添加用戶並加入相關的組當中:
useradd caiwu01 -g caiwu;
useradd caiwu02 -g caiwu;
useradd network01 -g network;
useradd network02 -g network;
useradd lingdao01 -g lingdao;
useradd lingdao02 -g lingdao;
3.使用smbpasswd為每個用戶添加samba密碼
smbpasswd caiwu01;
smbpasswd caiwu02;
smbpasswd network01;
smbpasswd network02;
smbpasswd lingdao01;
smbpasswd lingdao02;
4.我們使用smbpasswd -a caiwu01的命令為6個帳戶分別添加到samba用戶中
smbpasswd -a caiwu01;
smbpasswd -a caiwu02;
smbpasswd -a network01;
smbpasswd -a network02;
smbpasswd -a lingdao01;
smbpasswd -a lingdao02;
5.創建需要使用的目錄:
mkdir /home/samba;
mkdir /home/samba/caiwu;
mkdir /home/samba/lingdao;
mkdir /home/samba/exchange;
mkdir /home/samba/public;
為了避免麻煩可以在這裡把上面所有的文件夾的權限都設置成777
通過samba靈活的權限管理來設置上面的5點要求.
6.配置smb.conf
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使用的是明文
7.homes段滿足第1條件
[caiwu01]
comment = caiwu01
browseable = yes
writeable = yes
path = /home/caiwu01
valid users = caiwu01
[caiwu02]
comment = caiwu02
browseable = yes
writeble = yes
path = /home/caiwu02
[network01]
comment = network01
browseable = yes
writeable = yes
path = /home/network01
valid users = network01
[network02]
comment = network02
browseable = yes
writeable = yes
path = /home/network02
valid users = network02
[lingdao01]
comment = lingdao01
browseable = yes
writeable = yes
path = /home/lingdao01
valid users = lingdao01
[lingdao02]
comment = lingdao02
browseable = yes
writeable = yes
path = /home/lingdao02
valid users = lingdao02
8.caiwu段滿足我們的第2要求
[caiwu]
comment = caiwu
path = /home/samba/caiwu
public = no
valid users = @caiwu,@lingdao,network02
write list = caiwu01
printable = no
#caiwu段滿足我們的第2要求
9.lingdao段能滿足我們的第3要求
[lingdao]
comment = lingdao
path = /home/samba/lingdao
public = no
browseable = no
valid users = @lingdao,network02
printable = no
#lingdao段能滿足我們的第3要求
10.exchage共享文件配置
[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也具有相同的權限,這個權限能實現
每個人能自由寫文件,但不能刪除別人的文件這個要求
11.這個public段能滿足我們的第5要求
[public]
comment = Read Only Public
path = /home/samba/public
public = yes
read only = yes
#這個public段能滿足我們的第5要求。