[轉(zhuǎn)]CentOS Samba 服務(wù)器的構(gòu)建
前 言 |
在我們使用 Windows 作為客戶機(jī)的時(shí)候,通常有文件、打印共享的需求。作為Windows 網(wǎng)絡(luò)功能之一,通常可以在 Windows 客戶機(jī)之間通過 Windows Network 固有的功能實(shí)現(xiàn)這些要求。然而,通過 Samba 我們也可以讓一臺(tái) CentOS 主機(jī)來兼容 Windows 網(wǎng)絡(luò),實(shí)現(xiàn)同樣的功能,進(jìn)而充分發(fā)揮 CentOS 主機(jī)的可用性。
本篇文檔主要介紹怎樣通過 Samba 服務(wù)器的構(gòu)建實(shí)現(xiàn) Windows 網(wǎng)絡(luò)中的文件共享。
|
首先,通過 yum 來在線安裝 Samba 。
[root@sample ~]# yum -y install samba ← 安裝 Samba Setting up Install Process Setting up repositories update 100% |=========================| 951 B 00:00 base 100% |=========================| 1.1 kB 00:00 addons 100% |=========================| 951 B 00:00 extras 100% |=========================| 1.1 kB 00:00 Reading repository metadata in from local files primary.xml.gz 100% |=========================| 73 kB 00:00 update : ################################################## 212/212 Added 212 new packages, deleted 0 old in 4.94 seconds primary.xml.gz 100% |=========================| 569 kB 00:00 base : ################################################## 1500/1500 Added 1500 new packages, deleted 0 old in 28.97 seconds primary.xml.gz 100% |=========================| 157 B 00:00 Added 0 new packages, deleted 0 old in 0.03 seconds primary.xml.gz 100% |=========================| 32 kB 00:00 extras : ################################################## 124/124 Added 124 new packages, deleted 0 old in 1.93 seconds Parsing package install arguments Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Downloading header for samba to pack into transaction set. samba-3.0.10-1.4E.9.i386. 100% |=========================| 101 kB 00:00 ---> Package samba.i386 0:3.0.10-1.4E.9 set to be updated --> Running transaction check --> Processing Dependency: samba-common = 0:3.0.10 for package: samba --> Restarting Dependency Resolution with new changes. --> Populating transaction set with selected packages. Please wait. ---> Downloading header for samba-common to pack into transaction set. samba-common-3.0.10-1.4E. 100% |=========================| 37 kB 00:00 ---> Package samba-common.i386 0:3.0.10-1.4E.9 set to be updated --> Running transaction check Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: samba i386 3.0.10-1.4E.9 base 13 M Installing for dependencies: samba-common i386 3.0.10-1.4E.9 base 5.0 M Transaction Summary ============================================================================= Install 2 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 18 M Downloading Packages: (1/2): samba-common-3.0.1 100% |=========================| 5.0 MB 00:04 (2/2): samba-3.0.10-1.4E. 100% |=========================| 13 MB 00:11 warning: rpmts_HdrFromFdno: V3 DSA signature: NOKEY, key ID 443e1821 Public key for samba-common-3.0.10-1.4E.9.i386.rpm is not installed Retrieving GPG key from http://mirror.centos.org/centos/RPM-GPG-KEY-centos4 Importing GPG key 0x443E1821 "CentOS-4 key <centos-4key@centos.org>" Key imported successfully Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: samba-common ######################### [1/2] Installing: samba ######################### [2/2] Installed: samba.i386 0:3.0.10-1.4E.9 Dependency Installed: samba-common.i386 0:3.0.10-1.4E.9 Complete! |
|
[root@sample ~]# vi /etc/samba/smb.conf ← 編輯 Samba 的配置文件 #======================= Global Settings ===================================== [global] ← 找到這一行(全局設(shè)置標(biāo)簽),在此行下面添加如下行: dos charset = GB2312 ← 將 Windows 客戶端的文字編碼設(shè)置為簡(jiǎn)體中文 GB2312 unix charset = GB2312 ← 指定 Samba 所在的 CentOS 服務(wù)端新建文件或目錄時(shí)的編碼為 GB2312 display charset = GB2312 ← 指定使用 SWAT(一種通過瀏覽器控制Samba的工具)時(shí)頁面的默認(rèn)文字編碼 directory mask = 0777 ← 指定新建目錄的屬性(以下4行) force directory mode = 0777 directory security mask = 0777 force directory security mode = 0777 create mask = 0777 ← 指定新建文件的屬性(以下4行) force create mode = 0777 security mask = 0777 force security mode = 0777 workgroup = MYGROUP ← 找到此行,將工作組名稱改為 Windows 網(wǎng)絡(luò)所定義的工作組名 ↓ workgroup = WORKGROUP ← 變?yōu)榇藸顟B(tài),這里以 Windows XP 默認(rèn)的“WORKGROUP”為例 ; hosts allow = 192.168.1. 192.168.2. 127. ← 找到此行,去掉行首的“;”,并制定訪問限制 ↓ hosts allow = 192.168.0. 127. ← 變?yōu)榇藸顟B(tài),指定內(nèi)網(wǎng)IP地址及本地,只允許這兩種情況的訪問 然后在配置文件的末尾填如下幾行,定義公眾共享目錄: [public] comment = Public Stuff path = /home/samba ← 指定共享目錄位置 public = yes writable = yes ← 賦予共享目錄寫入權(quán)限的屬性 |
[root@sample ~]# mkdir /home/samba ← 建立共享文件專用目錄 [root@sample ~]# chown -R nobody. /home/samba ← 設(shè)置專用目錄歸屬為 nobody [root@sample ~]# chmod 777 /home/samba ← 將專用目錄屬性設(shè)置為 777 |
在進(jìn)行到服務(wù)端的連接之前,需要預(yù)先對(duì)用于登錄 Samba 的用戶進(jìn)行設(shè)置。這里我們以 CentOS 中 Samba 標(biāo)準(zhǔn)的 Samba 用戶數(shù)據(jù)庫管理工具“smbpasswd”為例,創(chuàng)建用于登錄 Samba 的用戶數(shù)據(jù)。這里需要注意的一點(diǎn):用 smbpasswd 創(chuàng)建用戶的前提是,系統(tǒng)用戶中存在該用戶 -- 在基于系統(tǒng)用戶之上,才可以創(chuàng)建該用戶在 Samba 用戶數(shù)據(jù)庫中的信息。
[root@sample ~]# smbpasswd -a centospub ← 將系統(tǒng)用戶 centospub(例)加入到 Samba 用戶數(shù)據(jù)庫 New SMB password: ← 輸入該用戶用于登錄 Samba 的密碼 Retype new SMB password: ← 再次確認(rèn)輸入該密碼 Added user centospub. |
|
[root@sample ~]# vi /etc/sysconfig/iptables ← 編輯 iptables 配置文件 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT ← 找到此行,在下面添加如下行: -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 137 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 138 -j ACCEPT [root@sample ~]# /etc/rc.d/init.d/iptables restart ← 重新啟動(dòng) iptables ,使新的規(guī)則生效 Flushing firewall rules: [ OK ] Setting chains to policy ACCEPT: filter [ OK ] Unloading iptables modules: [ OK ] Applying iptables firewall rules: [ OK ] |
[root@sample ~]# chkconfig smb on ← 設(shè)置 Samba 自啟動(dòng) [root@sample ~]# chkconfig --list smb ← 確認(rèn) Samba 啟動(dòng)標(biāo)簽,確認(rèn) 2-5 為 on 的狀態(tài) smb 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@sample ~]# /etc/rc.d/init.d/smb start ← 啟動(dòng) Samba 服務(wù) Starting SMB services: [ OK ] Starting NMB services: [ OK ] |
|
1、從桌面打開“網(wǎng)上鄰居”,并點(diǎn)擊“查看工作組計(jì)算機(jī)”選項(xiàng);

2、確認(rèn)出現(xiàn) Samba 服務(wù)端的連接,并雙擊該連接;(本站文檔的主機(jī)名以 Sample 為例)

3、輸入在服務(wù)端預(yù)先設(shè)置好的 Samba 用戶的用戶名及密碼;(用戶名同系統(tǒng)用戶名,密碼需要輸入在通過 smbpasswd 為該系統(tǒng)用戶設(shè)置的 Samba 專用的密碼。)

4、然后確認(rèn)能夠連接到 Samba 服務(wù)器,并出現(xiàn)根目錄及 Samba 專用共享目錄。

最后,在相應(yīng)目錄進(jìn)行新建、修改以及刪除文件的操作,測(cè)試相應(yīng)權(quán)限的可操作性。