samba 服務器

Linux上安裝Samba服務器可以實現Linux和Windows的相互訪問。

一、安裝的Samba:
首先在shell查看是否有下面三個文件(沒安裝Samba):
#rpm -qa |grep samba
samba-common-3.0.0.15.i386.rpm
samba-client-3.0.0-15.i386.rpm
samba-3.0.0-15.i386.rpm
如果沒有其中一個的話,就只能安裝了。

二、配置文件/etc/samba/smb.conf查看
cat /etc/samba/smb.conf|sed 's/^#.*//g'|sed /^$/d
[global] #samba全局配置
       workgroup = WORKGROUP       #組或域名
       server string = samba server     #服務器描述
       netbios name = REHL5   #在windows網上鄰居就能看到
       security = user       #5個安全級別。share不需驗證用戶
[homes]    #共享Samba用戶宿主目錄。系統用戶->Samba用戶,smbpasswd命令
[public]#指出共享公共目錄,以供所有的samba用戶nobody訪問,但必須是Linux用戶
    path = /home/pub         #公共共享目錄的路徑是“/home/pub”
    public = yes               #對於所有Samba用戶可見
    only guest = yes           #guest ok = yes,所有用戶在使用該共享目錄時的用戶身份都是“guest”,即Linux系統用戶“nobody”
    writeable = yes            #對於所有Samba用戶可見

<<<<<<<<<<<<<<<<<<<<<<<<<<<

[root@sample ~]# vi /etc/samba/smb.conf  ← 編輯 Samba 的配置文件

#======================= Global Settings =====================================
[global]   ← 找到這一行(全局設置標籤),在此行下面添加如下行:

dos charset = GB2312  ← 將 Windows 客戶端的文字編碼設置爲簡體中文 GB2312
unix charset = GB2312  ← 指定 Samba 所在的 CentOS 服務端新建文件或目錄時的編碼爲 GB2312
display charset = GB2312  ← 指定使用 SWAT(一種通過瀏覽器控制Samba的工具)時頁面的默認文字編碼
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 網絡所定義的工作組名

workgroup = WORKGROUP  ← 變爲此狀態,這裏以 Windows XP 默認的“WORKGROUP”爲例

; hosts allow = 192.168.1. 192.168.2. 127.  ← 找到此行,去掉行首的“;”,並制定訪問限制

hosts allow = 192.168.0. 127.  ← 變爲此狀態,指定內網IP地址及本地,只允許這兩種情況的訪問

然後在配置文件的末尾填如下幾行,定義公衆共享目錄:

[public]
comment = Public Stuff
path = /home/samba  ← 指定共享目錄位置
public = yes
writable = yes  ← 賦予共享目錄寫入權限的屬性

接下來,創建將要通過 Samba 共享給 Windows 網絡的專用目錄。
[root@sample ~]# mkdir /home/samba  ← 建立共享文件專用目錄

[root@sample ~]# chown -R nobody. /home/samba  ← 設置專用目錄歸屬爲 nobody

[root@sample ~]# chmod 777 /home/samba  ← 將專用目錄屬性設置爲 777

在進行到服務端的連接之前,需要預先對用於登錄 Samba 的用戶進行設置。這裏我們以 CentOS 中 Samba 標準的 Samba 用戶數據庫管理工具“smbpasswd”爲例,創建用於登錄 Samba 的用戶數據。這裏需要注意的一點:用 smbpasswd 創建用戶的前提是,系統用戶中存在該用戶 -- 在基於系統用戶之上,纔可以創建該用戶在 Samba 用戶數據庫中的信息。

[root@sample ~]# smbpasswd -a centospub  ← 將系統用戶 centospub(例)加入到 Samba 用戶數據庫

New SMB password:  ← 輸入該用戶用於登錄 Samba 的密碼
Retype new SMB password:  ← 再次確認輸入該密碼
Added user centospub.

啓動 Samba 服務

在啓動 Samba 服務之前,首先將防火牆設置中 Samba 所用到的端口進行開放。
[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  ← 重新啓動 iptables ,使新的規則生效
Flushing firewall rules:          [ OK ]
Setting chains to policy ACCEPT: filter   [ OK ]
Unloading iptables modules:       [ OK ]
Applying iptables firewall rules:      [ OK ]

最後,啓動 Samba 服務。
[root@sample ~]# chkconfig smb on  ← 設置 Samba 自啓動

[root@sample ~]# chkconfig --list smb  ← 確認 Samba 啓動標籤,確認 2-5 爲 on 的狀態
smb 0:off 1:off 2:on 3:on 4:on 5:on 6:off

[root@sample ~]# /etc/rc.d/init.d/smb start  ← 啓動 Samba 服務
Starting SMB services:       [ OK ]
Starting NMB services:       [ OK ]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章