samba網絡服務的搭建和配置

一.理論知識:
1.samba 代替 nfs 的緣由。
2. Windows 主機之間使用 SMB/CIFS 協議進行文件和打印的共享。(微軟的服務)
端口: 445  139
3. samba 的核心是兩個守護進程 smbd nmbd 程序。
Smbd nmbd 使用的所有配置信息全都保存在 smb.conf 文件中。
Smb.conf smbd nmbd 兩個守護進程說明輸出什麼以便共享,共享輸出給誰及如何進行輸出。
4.Smbd 進程的做用是提供文件 / 打印共享。
nmbd 進程是提供網絡中域或者工做組內的主機進行主機名稱的解析
二.安裝(四個包 1.samba 2.samba-common  3.samba-client  4.system-config-samba
1.rpm 安裝
rpm –ivh /media/cdrom/Redhat/RPM/samba*   
2. 源碼包的安裝( samba- 3.0.22 .tar.gz
tar xzvf  samba- 3.0.22 .tar.gz
cd  samba- 3.0.22 /source
./configure  --prefix=/usr/local/samba  --sysconfdir=/etc/samba/
make
make install

三. /etc/samba/smb.conf 主配文件的主要參數:
smb.conf 文件中,註釋行以 「#」 開頭,同時每項中英文字母不區分大小寫,在一行最後字符尾加 「\」 ,可將一行分紅多行。用 開頭的行,是可改變的配置,將 去掉時,該配置將取做用。
提問: grep 的含義;經常使用參數
1 grep -v "^#" /etc/samba/smb.conf |grep -v "^;" 排除以 # 開頭的行
[global]
   workgroup = MYGROUP
   ;hosts allow = 192.168.1   192.168.2
   server string = Samba Server
   printcap name = /etc/printcap
   load printers = yes
cups options = raw
hosts allow = 192.168.1.     10.100.100.    ( 注意格式   )
  log file = /var/log/samba/%m.log
   max log size = 50
   security = user
[homes]
   comment = Home Directories
   browseable = no
   writable = yes
[printers]
   comment = All Printers
   path = /var/spool/samba
   browseable = no
   guest ok = no
   writable = no
   printable = yes
create mask = 0755   建立文件時 權限是 755
only  guest  =   yes  僅以匿名用戶登陸

[global](
全局參數的設置,它對 samba 的功能具備很大的影響,主要用來設置整個系統規則。
workgroup=
這是你在 windows 中的域。
server string=
這是在 windows 中看到你的 samba 的解釋。
netbios name =192.168.1.125(
linux 主機IP ), 若是把該句注消 , 默認的是你 LINUX 機器名 , 不過 , 最好仍是本身填上
dos charset=GB2312
unix charset=GB2312
加上這二句就能夠正確顯示中文了。
hosts allow
容許登陸的 linux-samba 的主機名單,用 IP 地址給出,多個 IP 地址用空格分開,不在名單中的主機將不能獲得 samba 提供的服務,這也是網絡安全的一個方面。
printcap name
指定 printcap 文件地址,一般爲 /etc/printcap, 包含了 linux 打印機的配置信息。
load printers
容許使用共享打印機時,默認值爲 yes
log file = /usr/local/samba/var/log.%m
max log size = 0
  上面這兩行則是 Samba 日誌的相關定義。其記錄文件的位置是放在 /var/log/samba/%m.log ,安裝目錄不同,日誌可不同,後面的一條是定義日誌記錄文件的大小,單位是 KB ,若是是 0 的話就不限大小。
guest acount
來賓賬戶,表示用哪個 Linux 用戶做爲所要的客戶鏈接 , 定義 Samba 缺省的用戶帳號,這個帳號必須在 /etc/passwd 中。
security
指定安全模式。大多數用戶使用 user 級的安全模式, samba 用本地 linux 口令文件驗證。
security = security_level  
定義 Samba 的安全級別,按從低到高分爲四級: share user server domain 。它們對應的驗證方式以下:
1.    share:
沒有安全性的級別,任何用戶均可以不要用戶名和口令訪問服務器上的資源。
2.    user:samba
的默認配置,要求用戶在訪問共享資源以前資源必須先提供用戶名和密           碼進行驗證。   
3.    server:
user 安全級別相似,但用戶名和密碼是遞交到另一個服務器去驗證,好比遞交給一臺 NT 服務器。若是遞交失敗,就退到 user 安全級。
4.    domain:
這個安全級別要求網絡上存在一臺 Windows 的主域控制器, samba 把用戶名和密碼遞交給它去驗證。
注意:
/etc/samba/lmhosts 文件提供 ip netbios 名稱間的解析

後面三種安全級都要求用戶在本 linux 機器上也要系統賬戶。不然是不能訪問的
smb passwd file=/etc/samba/smbpasswd (
設置 smb 密碼文件的位置 )
username map =/etc/smbusers
encrypt passwords =no
採用的時明文密碼驗證,若是是加密的 , 就改成 yes
四.用戶的創建
1. 用戶必須是系統用戶。用 useradd 添加
2. 密碼用 smbpasswd –a 後面跟用戶名,而後會提示你輸入密碼
d 禁用某個用戶
e 啓用
X 刪除  
五.使用 swat 管理 Samba 服務器
    1. 安裝 swap rpm -ivh samba-swat- 3.0.10 -1.4E.i386.rpm
    2. chkconfig  swat  on
3. service xinetd restart
4. http://ip:901 就能夠訪問了 ( 默認狀況下 , 只能用本機訪問 )

. testparm 命令是配置文件測試工具,能夠對 smb.conf 配置文件的語法進行檢測,並顯示當前配置的清單
七. Smbstatus  顯示服務器的鏈接信息
Smbclient –L 192.168.1.1  顯示 192.168.1.1 這個服務器上的共享目錄
    Smbclient  //192.168.1.1/aa   -U  aa 用用戶 aa 訪問 192.168.1.1 上面的 aa 目錄
.目錄掛載
.Smbmount 用於掛再 linux 共享 目錄。     smbmount //192.168.1.2/public /mnt
    mount -t smbfs -o username=st02   //192.168.1.2/public /mnt
十一 本科總結
1.Windows 主機之間使用 SMB/CIFS 協議進行文件和打印的共享
2.Samba 服務器在 Linux /UNIX 系統中實現了 SMB/CIFS 協議
3.Samba 服務器須要運行 smbd nmbd 兩個服務程序
4. 配置文件 smb.conf Samba 服務器配置的核心
5. 使用 smbclient smbmount 客戶端命令能夠鏈接使用 Samba 服務器中的共享目錄
實驗
                                
常見共享目錄配置項的含義
*    comment :對共享目錄的註釋、說明信息
*    path :共享目錄在服務器中對應的實際路徑
*    browseable :該共享目錄在「網上鄰居」中是否可見
*    guest ok :是否容許全部人訪問,等效於「 public」
*    writable :是否可寫,與 read only 的做用相反
*    read only = yes
*    writable
實驗 :
: 創建資源 , 使登錄到該服務器的用戶均有權使用該空間 ( 包括讀 , )
.
編輯 smb.conf 文件
vi smb.conf
[resource]
comment = local resource
path = /var/samba/resource
read only = no
public = yes //
容許 guest 用戶訪問
. 創建共享文件夾
mkdir -p /var/samba/resource
.
因爲任何人都能使用 , 因此得給該文件夾設置訪問權限 .
chmod 707 /var/samba/resource
.
若是想在該文件夾中放置預共享文件 , 而又不想花時間從別的文件夾中 cp 過來 , 此時可使用指針 . 好比想共享 /usr/share/doc 中的文件 , 則能夠 :
ln -s /usr/share/doc /var/samba/resource/doc
進入 /var/samba/resource ls 一下 , 是否是出現指針文件了 !
: 創建一資源 , 只能讓用戶 liu 全權訪問 .
.
編輯 smb.conf 文件
vi smb.conf
[liu]
comment = liu
path = /var/samba/liu
valid users = liu //
只容許 liu 訪問 或者 @ 組名
public = no
writable = yes
.
創建共享文件夾
mkdir -p /var/samba/liu
.
因爲只能讓 liu 使用 , 因此得給該文件夾設置訪問權限 .
chown liu.liu /var/samba/liu
chmod 700 /var/samba/liu
此時該文件夾屬於 liu 用戶 , 而且只能由 liu 用戶訪問 .
: 創建一資源 , 只能讓 root,zhang wang 訪問 .
.
編輯 smb.conf 文件
vi smb.conf
[zhang wang]
comment = zhang wang
path = /var/samba/liu
valid users = zhang     wang     
public = no
writable = yes
create mask = 0707           create
.
創建共享文件夾
mkdir -p /var/samba/zhangwang
.
給該文件夾設置訪問權限 .
chmod 707 /var/samba/zhangwang
此時該文件夾只能 root,zhang,wang 訪問了 .
: 創建一資源 , 讓指定的組 group2 中的用戶訪問 .
.
編輯 smb.conf 文件
vi smb.conf
[group]
comment = group2
path = /var/samba/group2
public = yes
writable = yes
write list = @group2 //
設置讀寫訪問用戶列表( read list
.
創建共享文件夾
mkdir -p /var/samba/group2
.
給該文件夾設置訪問權限 .
chown group2.group2 /var/samba/group2
chmod 770 /var/samba/group2
此時該文件夾只能由 group2 中的用戶訪問了 .
(3).
以上爲建立共享文件夾 , 下面爲建立共享打印機 .
.
配置打印機的方面有不少 , 好比使用 redhat-config-printer 命令便可調出配置菜單 .
.
固然 smb.conf 中也要設置啊 :
[global]
printcap name = /etc/printcap //
配置文件路徑
[printers]
writable = no
guest ok = yes //guest
可用
browseable = no //
不可瀏覽
ptrintable = yes
path = /var/spool/samba //
隊列位置
printer admin = root //
打印機管理員
其餘配置不變或按情配置
接下來再添加 print 驅動設置 :
[print$]
comment = printer drivers
path = /etc/samba/drivers
browseable = yes
guest ok = no
read only = yes
write list = root
接着建立 drivers 文件夾 :mkdir -p /etc/samba/drivers
最後給用戶準備打印機驅動 , 並啓動打印共享 :
注意:例 3 4 是補充內容,課本上沒有!!!
cupsaddsmb -a -U root //-a 爲共享全部打印機 -U 爲以 root 身份執行
cupsaddsmb
命令
靈活的 samba 權限
read only = yes
write list = aa 這兩行的做用:雖然該目錄只讀,但 aa 仍然能寫
read only = no
read    list = aa 做用:雖然該目錄均可寫,但 aa 只讀
相關文章
相關標籤/搜索