作者:許亮 奧林巴斯(深圳)工業(yè)有限公司 | SAP開發(fā)工程師/SAP Basis顧問 前言: 寫這篇文章的目的是為了下一篇文章《HP-UX Samba服務配置》作鋪墊的。畢竟大家對Linux操作系統(tǒng)以及Linux下的Samba服務要熟悉一些。不要感覺到有壓力,其實HP-UX沒什么大不了的,其實就是我們所謂的UNIX,只不過HP修改了其內核文件,并重新封裝了它,再換個名字叫HP-UX。目前HP-UX只有極少數的大型企業(yè)在用,這跟它昂貴的服務費用有關,所以互聯(lián)網上也很少有關HP-UX的文章,即使有,也是大家轉來轉去,盡在胡說的一些文章,參考價值并不高,我就在這方面浪費了不少的時間。 廢話少說,下面就先來看看在Linux下是如何配置Samba服務的,有了在Linux下成功配置Samba服務的經驗,在HP-UX(11.3i版本)上配置Samba服務就不會那么困難了,因為在HP-UX上安裝Samba軟件還必須得用HP-UX版本的Samba軟件包,與正常的Samba軟件包稍有差別。 一、軟件準備 RHEL4系統(tǒng)中默認安裝了samba服務器和客戶機的所有軟件包。通過以下命令來確認是否已存在軟件包。 # rpm -qa|grep samba samba-client-3.0.10-1.4E samba-3.0.10-1.4E samba-common-3.0.10-1.4E 若沒有,則到RHEL4的第2張安裝光盤中去找,或者到網上去下載。 二、Samba服務的安裝和配置 1、 Samba安裝 安裝命令為: # rpm –ivh 軟件包名稱 例如:# rpm –ivh samba-3.0.10-1.4E.rpm RHEL4系統(tǒng)中默認已經安裝了與Samba服務相關的軟件包。 2、 Samba服務器的配置 a. 在smb.conf文件中進行共享資源的配置 去掉注釋,查看smb.conf配置文件中的有效配置,讓我們來認識一下smb.conf配置文件。 # grep -v "^#" /etc/samba/smb.conf |grep -v "^;" 以上命令能有效的過濾掉配置文件中的注釋文字。 [global] workgroup = MYGROUP server string = Samba Server printcap name = /etc/printcap load printers = yes cups options = raw log file = /var/log/samba/%m.log max log size = 50 security = user socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 dns proxy = no idmap uid = 16777216-33554431 idmap gid = 16777216-33554431 template shell = /bin/false winbind use default domain = no
[homes] comment = Home Directories browseable = yes writable = yes [printers] comment = All Printers path = /var/spool/samba browseable = no guest ok = no writable = no printable = yes 從以上內容可以看出smb.conf配置文件默認包括以下3部分內容: [global]部分是Samba服務器的全局設置,配置項的內容對整個Samba服務器有效。 [homes]部分設置了用戶共享目錄的屬性,該部分中不包括的設置項則使用配置文件中的全局設置。 [printers]部分設置了Samba服務器中的打印機共享資源的屬性,Samba服務器除了可以提供文件共享以外,還能夠提供打印機的共享。 用戶可以根據自己的應用需求在smb.conf配置文件中添加共享資源的設置,共享資源的名稱需要放置在方括號([])中。沒有特別的需求,就保持smb.conf配置文件中的[global]項配置為默認。 再來看看[global]全局配置中,常用配置項的含義表: 配置項 | 說明 | workgroup | 設置Samba服務器所在的工作組的名稱,默認設置為 | server string | 設置Samba服務器的說明文字,用于描述Samba主機 | log file | 設置Samba服務器的日志文件,默認設置為”/var/log/samba/%m.log“,表示所有設置文件都保存在”/var/log/samba/“目錄中,使用Samba服務器的每個客戶機的日志分別為保存與客戶機同名的”%m.log“文件中,”%m“表示客戶端主機的名稱。 | Max log size | 設置日志文件的最大容量,默認為50.表示KB,該設置項的數值單位是KB | security | 設置Samba服務器的默認安全級別為user,表示需要經過Samba服務器的用戶認證后才能夠訪問服務器中的資源 |
對于security全局設置項的配置比較關鍵,該配置項去定了Samba服務器對客戶機采取何種用戶認證方式。Security設置項的值可以有以下4種: share:表示用戶不需要帳戶及密碼即可登入Samba服務器。 user:表示由提供服務的Samba服務器負責檢查用戶及密碼,是Samba默認的安全等級。 server:表示檢查賬戶及密碼的工作指定由另一臺Windows服務器或Samba服務器來負責。 domain:表示指定Windows域控制器來驗證用戶的賬戶及密碼。 b. Samba用戶賬號及用戶目錄設置 (1)smb.conf文件中對用戶目錄的默認設置: comment = Home Directories browseable = yes writable = yes
[homes]共享目錄默認的配置項含義如下: comment:用于設置共享目錄的說明信息。 browseable:設置為no時表示所有Samba用戶的宿主目錄都不能被看到,只有登錄用戶才能看到自己的宿主目錄,這樣設置可以加強Samba服務器的安全性。 writable:設置為yes時,表示用戶可以對該共享目錄寫入,設置用戶對自己的宿主目錄具有寫權限是比較合理的。 經過以上設置后,Samba服務器中的每個用戶都會在服務器中擁有一個自己的共享目錄(宿主目錄)。 (2) 建立Samba用戶賬號 Samba服務器不使用Linux系統(tǒng)的用戶賬號進行用戶認證,而是維護自己的用戶賬號文件。Samba服務器的用戶賬號文件保存在“/etc/samba”目錄中,文件名是smbpasswd,初始狀態(tài)smbpasswd文件不存在,在第一次使用smbpasswd命令創(chuàng)建Samba用戶時自動建立。 在建立Samba用戶賬戶之前先要建立同名的Linux系統(tǒng)用戶賬號。 # cd /etc/samba/ # adduser st02 # smbpasswd -a st02 New SMB password: Retype new SMB password: startsmbfilepwent_internal: file /etc/samba/smbpasswd did not exist. File successfully created. Added user st02.
注意:這里輸入密碼是不顯示的。 smbpasswd命令除了可以添加Samba用戶賬戶外,使用不同命令選項可以完成不同的賬號維護工作。 -h:顯示smbpasswd的命令格式幫助 -a:添加指定的用戶賬號 -d:禁用指定的用戶賬號 -e:啟用指定的用戶賬號 -x:刪除指定的用戶賬號 使用smbpasswd –d 命令禁用Samba用戶賬號時,,將在smbpasswd文件的用戶記錄中進行相應字段的標記。 使用smbpasswd –e 命令即是啟用已經被禁用的Samba用戶賬號,將在smbpasswd文件中刪除用戶記錄中的禁用標記。 smbpasswd命令不接任何參數時,將提示修改指定Samba用戶的口令,口令的修改會體現在smbpasswd文件的用戶記錄中。 使用smbpasswd命令建立Samba用戶賬號時應注意一下幾點: -> Samba用戶賬號使用獨立的smbpasswd文件保存用戶的賬號和加密口令信息。 -> Samba服務器中的用戶賬號應該具有與其同名的Linux系統(tǒng)用戶賬號,因為Samba用戶是使用同名的系統(tǒng)賬號身份來訪問Linux資源(文件和目錄)的。 -> Samba用戶的口令和同名系統(tǒng)用戶的口令是獨立的,可以相同也可以不相同,需要分別進行維護和更改。 -> 當Samba用戶不需要登錄Linux系統(tǒng)時,同名的系統(tǒng)用戶賬號可以不設置口令,因為空密碼的系統(tǒng)用戶是無法登陸Linux系統(tǒng)的。 可以看出Samba服務器中的用戶賬號與Linux系統(tǒng)賬號是相對獨立但是又有所關聯(lián)的,在實際的應用中移動要注意兩者之間的以上幾點關系。 c. 添加公共目錄設置 在Samba服務器的默認設置中沒有公共目錄的設置,需要手動進行添加。 對于公共目錄有如下要求: (1) 任何Samba的用戶都可以訪問公共目錄并對目錄有讀寫權限; (2) 任何用戶在公共目錄中都以Linux中nobody系統(tǒng)用戶的身份出現,即在公共目錄中任何用戶建立的文件都屬于nobody系統(tǒng)用戶。 在對smb.conf文件進行設置之前需要建立公共目錄在Linux系統(tǒng)中對應的目錄“/home/public”,并設置該目錄的屬主和屬組為nobody。 # mkdir /home/public # chown nobody.nobody /home/public # ls -ld /home/public drwxr-xr-x 2 nobody nobody 4096 Jun 10 13:30 /home/public 在smb.conf文件中添加名為[public]的共享資源,并設置如下內容: [public] path = /home/public public = yes only guest = yes writable = yes
d. 對smb.conf文件配置的測試 測試命令為:# testparm e. Samba服務器的啟停命令 Samba服務器的啟動腳本位于目錄“/etc/init.d”中,腳本文件的名稱是smb。 # ls -l /etc/init.d/smb -rwxr-xr-x 1 root root 2020 Jan 3 2005 /etc/init.d/smb 啟動Samba服務器: # service smb start Starting SMB services: [ OK ] Starting NMB services: [ OK ] 查看Samba服務的服務狀態(tài): # service smb status smbd (pid 3886 3882) is running... nmbd (pid 3887) is running... 停止Samba服務器: # service smb stop Shutting down SMB services: [ OK ] Shutting down NMB services: [ OK ] 三、實現Windows主機訪問Samba服務器: 1、 在“運行”中輸入Samba服務器的IP地址,并回車 2、 在彈出的登錄界面中輸入Samba的賬戶st02及密碼: 3、 訪問Samba服務器成功: 四、Linux主機訪問Windows共享文件 1、 在Windows主機中創(chuàng)建共享目錄 2、 使用sbmclient命令來連接Windows共享目錄 使用來賓賬號Guest(密碼為空)來登錄訪問Windows的共享資源 # smbclient //192.168.1.254/share -U Guest Password: Domain=[XULAU] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager] smb: /> dir . D 0 Wed Jun 10 05:46:45 2009 .. D 0 Wed Jun 10 05:46:45 2009 360safefixavi.exe A 402952 Sun May 31 07:49:21 2009 avseq03.wmv A 8062020 Sat Jun 6 03:11:22 2009 EasyInstallMakerV2.2_XiaoSD.exe A 1341058 Sat May 30 08:46:03 2009 FireFox 3.0.8.exe A 7339968 Mon Apr 20 07:18:42 2009 kav8.0.0.506sch.exe A 38302992 Thu Dec 4 20:22:00 2008 mysql-5.1.35.tar.gz A 35152597 Fri Jun 5 23:51:45 2009 53615 blocks of size 1048576. 5523 blocks available smb: /> exit
3、 使用mount命令掛載Windows共享目錄 # mkdir /winshare # ll /winshare total 0 # mount -t smbfs -o username=Guest //192.168.1.254/share /winshare Password: # ll /winshare total 88480 -rwxr-xr-x 1 root root 402952 May 31 07:49 360safefixavi.exe -rwxr-xr-x 1 root root 8062020 Jun 6 03:11 avseq03.wmv -rwxr-xr-x 1 root root 1341058 May 30 08:46 EasyInstallMakerV2.2_XiaoSD.exe -rwxr-xr-x 1 root root 7339968 Apr 20 07:18 FireFox 3.0.8.exe -rwxr-xr-x 1 root root 38302992 Dec 4 2008 kav8.0.0.506sch.exe
掛載成功!
|