Professional Documents
Culture Documents
講義 Samba mainpage
講義 Samba mainpage
前言:
當 Linux 逐漸被廣泛運用在 Internet 當成各種伺服器如: Mail, Web, DNS, Firewall 等服務時漸漸會發現與 Linux 交
換檔案都需要依靠 ftp 來上傳下載,極為不便利。 Samba 的服務透過 Windows『網路上的芳鄰』來達成資料與印表
機的分享。 這樣便利的服務讓 Linux 也能成為與 Win NT 一樣穩定的檔案伺服器。
應用範例:
1. 常見的 Linux 主機遠端系統備份
2. 公司內部檔案分享及個人網路硬碟
3. 可將 web 目錄提供出來方便網站資料的更新
4. Linux 印表機分享
一、安裝與測試 SAMBA
A) SAMBA 原始碼的安裝
首先我們要取得 Samba 的軟體,您可以至 RedHat 的網站下載 RPM 的版本,或是至 Samba 的站台下載自行編譯
的版本。
RPM 的安裝:
rpm -ivh samba-2.2.1.i386.rpm
自行編譯的安裝: (通常 tar.gz 為最新的版本)
tar -zxvf samba-2.2.4.tar.gz
cd samba-2.0.7
./configure --prefix /usr/local/samba-2.0.7
( ./configure 有許多的參數,您考以參考其說明 ./configure --help 依自己的需求加入)
make
make install
B) 常用檔案介紹
/etc/samba/smb.conf Samba 主要設定檔
/etc/samba/smbuser Samba 用戶與 Window 用戶對應表, 利用 smbadduser 程式來新增可登入的帳號
smbadduser <Linux 用戶名>:<window 用戶名> 如: smbadduser user1:user1
/etc/samba/smbpasswd Samba 用戶(密碼)設定檔, 利用 smbpasswd 程式來更改密碼 如: smbpasswd user1
Smbclient Samba 用戶端的應用程式 (有點像是利用文字模式下的 ftp 進入網路上的芳鄰, 可下載上
傳檔案)
smbclient –L //linux 列出 linux 主機上的分享資源
Nmblookup 查詢 samba(Windows 網路上的芳鄰)網路工具, 可查出所有資源分享的主機及 Master.
查詢主控主機 nmblookup –MT workgroup 或是 –T 來查詢所有電腦
Smbmount 當 Linux 要使用網路上的資源時可將遠端的目錄連接成檔案系統中之次目錄
mount mount -t smbfs -o username=denny,password=1234 //linux/public /mnt/winshare/
Smbstatus 顯示現階段 samba 服務的連線狀態
D)Linux 印表機的安裝
在 Linux 上請執行 printtool 來設定 LPRng 的印表機服務
E)/etc/samba/smb.conf 設定檔
# 一個簡易的 samba 設定檔
[global] SMB 主環境設定
workgroup = workgroup 網路上的芳鄰群組名稱
netbios name = linuxserver 主機名稱 (預設環境與系統名稱相同)
server string = Linux Samba Server 系統的註解
hosts allow = 192.168.1. 127. 所允許使用的網段
log file = /var/log/samba/log.%m 紀錄檔的位置
max log size = 50 紀錄檔限於 50K 內
status = yes 啟用狀態模式 ON
[www_files] 目錄分享設定
comment = This is my homepage 說明目錄的地方
path = /usr/local/apache/htdocs 實際目錄的位置
read only = no 是否唯讀? No 就是可以寫入
public = yes 公開? Yes 就是所有人都可使用
Troubleshooting (問題排除)
如果網路上的芳鄰看不到 主機的 netbios 名稱請等候 48 分鐘. 或是先用尋找電腦的方式來搜尋電腦.
請以中文字『許信良』『中國功夫』『餐廳』來測試中文相容問題
中文字的支援
client code page = 950
preserve case = yes
valid chars = 33 35 36 37 38 39 40 41 45 48 49 50 51 52 53 54 55 56 57 64 97:65 98:66 99:67 100:68 101:69 102:70
103:71 104:72 105:73 106:74 107:75 108:76 109:77 110:78 111:79 112:80 113:81 114:82 115:83 116:84 117:85 118:86
119:87 120:88 121:89 122:90 94 95 96 123 125 126 127 255
印表機的列印
[Printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
群組的使用管理
在目錄分享設定裡可以使用 write list = @group 來設定某群組的使用權限,請參考 vigr 來設定群組‧
三、Linux 檔案權限
首先您登入時必須要屬於某個網域才能啟用 permission 權限管理‧ 例如, Server A 屬於網域 masterA 的管轄(也就是說
ServerA 的資源分享是在您擁有 masterA 網域上的帳號下才能夠使用)預設的檔案權限基本上受限於 Linux 原始的檔案權限,
再配合上主控者(PDC)上的使用者來管理所要設定的權限‧ 其中的道理是與 Windows NT 網域的管理方式是一樣的‧
NT acl Support
預設的 nt workstation 都會在 PDC 主機上儲存用戶的環境設定 因此 [Profiles] 必須要加入
nt acl support 才能讓此功能啟用
[Profiles]
path = /home/samba/profiles
create mode = 0744
directory mode = 0755
browseable = yes
guest ok = yes
read only = no
writable = yes
nt acl support = yes