2008年9月26日 星期五

Samba Server 安裝與設定--老師的資料

Sambs 與 NetBIOS over TCP/IP
在 UNIX/Linux 環境中,主機與主機的檔案分享可以透過 NFS(Network File System)進行,但若是環境中還有 Windows 系統,則因 Windows 系統未支援 NFS 而無法達到檔案及印表機的資源分享。Samba Server 是一套好軟體,它可以建立 Linux 與 Linux 之間或是 Linux 與 Windows 之間的檔案與印表機分享,及所謂的『網路芳鄰』。
Windows 環境下的網路芳鄰使用 NetBIOS 通訊協定。NetBIOS 通訊協定為 IBM 所創造與發展,用在區域網路環境中機器與機器連線的基本通訊協定,後因效能不佳而放棄繼續研發與使用。Microsoft 在發展 Windows 95 系統時,將 NetBIOS 通訊協定應用在網路芳鄰,讓 Windows 系統透過該通訊協定達到資源方想的目的。
不過,NetBIOS 除了效能不佳外,始終存在著無法跨越路由問題。在網際網路風行後,TCP/IP通訊協定嚴然成為機器通訊的最佳方式,而機器與機器間的資源分享,也因為網路連線的範圍擴大,需要一套能夠跨越路由的通訊協定。於是將 NetBIOS 放到 TCP/IP 上,搭載以 TCP/IP 為基礎的通訊,讓 NetBIOS 可以跨越路由,稱為 NetBIOS over TCP/IP。
工作群組與網域
網路作主要的用途是進行資源分享與訊息交換,最小的網路是將兩台電腦以電纜線連接來達到資源分享。一般的小型企業電腦數目不多,透過簡單的電纜或集線器即可形成一個工作群組,在工作群組內的機器都擁有資源釋出分享的能力,而為了安全,美台機器會為分享出來的資源作密碼保護,要存取者必須獲得密碼後登入來可以使用資源。在不同機器會有不同的資源與密碼,資源存取者需要記憶美台不同機器的資源密碼,顯然是很不方便。
網域的出現,解決了上述的問題。在網域中會有一部機器擔任網域的主控站(稱為 PDC,Primary Domain Controller),PDC 將網域中的帳號與資源進行集中的管理,工作端只需要登入到網域中,便可以依據權限進行資源存取。
設定
Samba Server 一般預設的設定目錄為 /etc/samba,設定檔是 smb.conf,在設定檔案內,主要要設定伺服器啟動的相關設定以及資源分享兩部份。
[Global]
workgroup = fcu_nw #設定群組或網域名稱
server string = Samba Server #主機的註解
security = user #設定 Samba 扮演的角色(share、User、Server、Domain、AD)
encrypt passwords = true #啟用密碼加密
passdb backend = tdbsam #新版 Samba 使用者帳號存放的方式以資料庫方式存在
smb passwd file = /etc/samba/smbpasswd #使用舊版的使用者帳號存放的方式,指定檔案路徑及名稱。
obey pam restrictions = yes #使用 PAM 認證機制
unix password sync = no #Windows 與 Linux 密碼同步化
passwd program = /usr/bin/passwd %u #密碼變更指令
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* . #密碼變更交談方式內容
pam password change = no #密碼變更是否使用 PAM 而不用 passwd program
domain master = yes #指定 Samba 為 PDC
domain logons = yes #使用網域登入方式
logon path = \\%N\profiles\%U #用戶登入後所使用的 Profile 放置路徑
logon drive = H: #用戶登入後自動將家目錄連結成指定的磁碟機
logon home = \\%N\%U #用戶登入後的使用者家目錄
logon script = logon.cmd #用戶登入後執行的程序稿
wins support = no #是否讓 Samba 當成 WINS Server
wins server = 192.168.1.1 #指定使用哪一台 WINS Server(與 wins support 只能二選一)
local master = yes #為工作群組角色時,是否作為 Local Master。
os level = 33 #作業系統等級 (95->16、NT Workstation->32、NT Server->64)
add user script = /usr/sbin/adduser –quiet –disabled-password –gecos “” %u #新增用戶的指令
interfaces = 127.0.0.0/8 eth0 #指定 Samba 在哪些介面與 IP 監聽
host allow = 192.168.10. 127. 140.134.210. #允許哪些 IP 主機連線
socket options = TCP_NODELAY #指定伺服器與用會對話介面
name resolve order = lmhosts host wins bcast #主機名稱解析方式的順序
dns proxy = no #是否使用 DNS 作名稱解析
[Share]
[Temp] #資源分享的名稱
comment = Test Share Directory #註解
path = /tmp #實際目錄路徑
public = yes #是否為公用資料夾
browseable = yes #是否可被瀏覽
printable = no #是否為印表機圖示
writable = yes #是否可寫入
read olny = no #是否只能讀取
guest ok = no #是否允許來賓帳號存取
設定檔的語法檢查
Samba 提供 testparm 指令來作設定檔的語法檢查。
# testparm
服務的啟動
Samba Server 啟動時有兩項服務會議起啟動,一項是 Samba 本身(smbd),另一項是 NetBIOS 通訊協定(nmbd)。
# /etc/init.d/samba restart
使用者帳號的建立
必須是系統內已經存在的使用者帳號
根據設定檔可以選擇使用新版的資料庫來存放使用者帳號。
若設定檔內指定使用 smb passwd file 來存放設定檔,則需要事先建立指定的 smbpasswd 檔案。
[使用資料庫存放]
設定檔案內指定 passdb backend = tdbsam。
重新啟動 Samba # /etc/init.d/smbd restart。
以 smbpasswd 建立使用者 # smbpasswd -a user01。
[使用 smb passwd file]
設定檔案內指定 smb passwd file = /etc/samba/smbpasswd。
重新啟動 Samba # /etc/init.d/smbd restart。
以 smbpasswd 建立使用者 # smbpasswd -a user01。
Client 端的連接
[文字模式下使用 smbclient 指令]
# smbclient -L localhost 列出主機清單
# smbclient -L //teacher 列出 teacher 主機分享的資源清單
# smbclient //Teacher/Temp -U user01 以 User01 登入 Teacher 主機存取分享的 Temp 檔案資源
登入後操作指令同 FTP。
[X 視窗環境下使用 LinNeighorhood]
安裝 # apt-get install linneighorhood
X 視窗下的開始選單選擇程式啟動。

沒有留言: