回首頁
修改
Mail
FTP

中




2008年4月14日 星期一

[SAMBA]Ubuntu 7.10實作SAMBA

簡單介紹一下什麼是SAMBA Server
大家都知道xp的網路芳鄰(CIFS)就是讓區網內的所有電腦可共享檔案印表機
CIFS=Common Internet File System
但是網芳只能讓Windows機器溝通瞭解這樣就可以
在來還有一種服務是NFS(Network File System)
這是能讓所有Unix-Like機器溝通且用掛載的方式來共享資料
那能不能在linux上找到xp網芳或者在xp上找到linux所分享出來的檔案
如果對方是Vista可能會有些問題,因為:
Vista採用了SMB協議的新版本SMB2,
這可能會給那些連接到非微軟網路例如Linux的Samba伺服器上的電腦產生問題。
Windows 的網路芳鄰其實是使用 SMB/CIFS 通訊協定。
SMB (Server Message Block) 通訊協定最早是在 1980 年代由 IBM 所發展出來,這個通訊協定可以讓不同的電腦共享檔案、印表機、及其它裝置。SMB 最早是運作在 NetBIOS 的網路協上,一開始 IBM 設計了 NetBIOS 只是為了讓網路中少數的電腦可以彼此互相溝通。所以 NetBIOS 的功能比較陽春,在使用上有一些限制。例如,只能使用在區域網路中、跨不過路由器。後來又出現了 NetBEUI (NetBIOS Extend User Interface),也是 IBM 針對 NetBIOS 的改良版。後來又有 NetBIOS over TCP/IP,使得 SMB 協定也可以跑在 TCP/IP 上,並可以經由網際網路存取。在使用 NetBIOS 在存取遠端電腦時,我們可以使用電腦名稱如「\\alex-pc」來存取,而 TCP/IP 只能使用「\\192.168.0.1」這種方式來存取。所以 NetBIOS 也不是一無是處,它提供了比較簡單而易懂的方式。
Microsoft 在 1996 年為了市場考量,將 SMB 改名為 CIFS (Common Internet File System),名稱看起來比較容易瞭解,顧名思義就是可以在網際網路上使用的檔案系統。所以我們其實不應該稱呼網路上的芳鄰為「網路芳鄰」,而是 SMB/CIFS 通訊協定,就好像我們稱呼 HTTP、FTP 一樣。在 Windows 的世界裡,人們可以使用 SMB/CIFS 來共享檔案。而在 UNIX 的世界裡使用的是 NFS (Network File System);Mac 的世界中則是使用 AppleTalk。我們可以看到不同的作業系統環境中,都有自己的一套方法,不過我們還是可以經由安裝軟體來達成不同平台共享檔案的功能。
而NFS 是架構在 RPC Server 上面

且網芳有連限限制
Windows 2000 pro-------------->5人
Windows 2000 server---------->不限
Windows 2000 AD server------>不限
Windows XP home ------------->未知
Windows XP pro ---------------->10人
有效且被歸類為存活的連線數最高10人 以xpp來說
大約是這樣
行!就是SAMBA 下面來介紹一下摟!
SAMBA的主要功能:
分享檔案與印表機服務;
可以提供使用者登入 SAMBA 主機時的身份認證,以提供不同身份者的個別資料;
可以進行 Windows 網路上的主機名稱解析 (NetBIOS name)
可以進行裝置的分享 (例如 Zip, CDROM...)
接下來要安裝了!
Samba 目前有二個主要的版本:2.2.12 及 3.0.x。2.2.12 已經發展很久了,目前已進入停滯狀態。和 3.0 比較起來,速度稍快、功能較簡單。最大的不同在於 Samba 2.2.12 只支援 code page,而 Samab 3.0 支援 Unicode。Unicode 的支援可以讓我們同時在一個目錄中存放中文、日文、簡體中文等多國語的檔名。所以,這邊建議您安裝 Samab 3.0以上。
最新版是Samab 3.028a或許你可用更簡單的方式安裝:
apt-get install samba
以Debian的安裝會出現以下套件需更新或安裝
以下是簡略說明
samba-common (主要設定檔 (smb.conf,主要設定檔 (smb.conf))
smbclient (掛載 SAMBA 檔案格式的執行檔 smbmount)
smbfs (SBM檔案系統公用程式)
smbldap-tools
samba (主要 daemon 檔案 (smbd 及 nmbd))



啟動,停用,重新啟動,重讀取,指令:
/etc/init.d/samba start|stop|restart|reload
Red Hat 的語系設定是看/etc/sysconfig/i18n
Debian 則在"/etc/environment"
這點要注意一下~
這邊先以第一種peer/peer (Workgroup model)來說明
登入需要密碼
密碼檔放置 /etc/samba/smbpasswd (密碼要加密)
使用者有自己家目錄並建立群組user可進入/home/public
users 這個群組的所有人可具有寫入的權限

[root@ubuntu~]# vim /etc/samba/smb.conf
[global]
workgroup = MSHOME
netbios name = radius_nat
server string = This is nat samba server
unix charset = utf8
display charset = utf8
dos charset = cp950
log file = /var/log/samba/log.%m
(%m:代表 Client 端的 NetBIOS 主機名稱)
max log size = 1000
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
dns proxy = no
template shell = /bin/false
winbind use default domain = no

# 與密碼有關的設定項目,包括密碼檔案所在與加密與否喔!
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd

# 與 NetBIOS name 名稱解析有關的設定
name resolve order = lmhosts bcast host
[homes]
comment = Home directories
browseable = no (不會開放給其他人瀏覽)
writable = yes
valid users = %S
create mode = 0664 (mask也可)
directory mode = 0775
※ umask=002

接下來要新增登入帳號 因為上面security = user所以
需要帳號登入~新增帳號為/etc/passwd裡的帳號為主

smbpasswd -a radius
New SMB password: 這個密碼不需與 /etc/shadow 相同
Retype new SMB password:
Added user dmtsai. 有秀出這個才是成功唷~
cat /etc/samba/smbpasswd 查看有沒有新增成功
radius:501:1B0F61E20F8F2D11AAD3B435B51404EE:F7EDDB3F55CC5DB1FE00D7F755028491:
[U ]:LCT-4590969D:

●因為上面[gogle]裡有
smb passwd file = /etc/samba/smbpasswd
這一行所以才能新增~要自己建立唷
touch /etc/samba/smbpasswd

接下來就是測試了

testparm 先確認smb.conf 語法是否正常
在來
/etc/init.d/samba reload or restart
smbclient -L //127.0.0.1
passwd: 直接Enter 就可
Anonymous login successful 匿名登入
Domain=[MSHOME] OS=[Unix] Server=[Samba 3.0.10-1.4E.9]
Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (This is vbird's samba server)
cdrom    Disk Samba server's CD-ROM
temp_bak  Disk   my bak dir

在用剛剛建立的帳號登入

smbclient -L //127.0.0.1 -U dmtsai
passwd: 輸入剛輸入的
Domain=[MSHOME] OS=[Unix] Server=[Samba 3.0.10-1.4E.9]
Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (This is vbird's samba server)
cdrom    Disk Samba server's CD-ROM
temp_bak  Disk   my bak dir
radius Disk Home directories有所差別多這一個


設定好就是如何登入了

先在Client Linux端建立mkdir /media/samba
smbmount //223.125.2.3/radius /media/samba -o username=radius,passwd=1111
這樣就掛載成功了!
到cd /media/samba
df .
//223.125.2.3/radius 20164444 3088222 17111128 13% /media/samba


------------------------
第二種進階PDC設定方式:












其他延伸閱讀請點"繼續閱讀"

關於語系問題可參考這裡
鳥哥samba介紹
實作windows xp 加入samba網域

0 回應: