實戰fedora10 samba共享

實戰fedora10 samba共享
實驗環境:虛擬機+fedora10
實驗目的:練習fedora9的samba共享
教程適用:想在fedora9上面使用共享的菜鳥
1、
samba簡介
SMB協議是創建在NetBIOS協議之上的應用協議,是基於TCP13八、139兩個端口的服務,NetBIOS出現以後,Microsoft就使用NetBIOS實現了一個網絡文件/打印服務系統。這個系統基於NetBIOS設定了一套文件共享協議,Microsoft稱之爲SMB(Server Message Block) 協議,這個協議被用於Lan Manager和Windows服務器系統中,實現不一樣計算機之間共享 打印機和文件等。所以,爲了讓Windows和Unix/Linux計算機相集成,最好的辦法就是在 Unix/Linux計算機中安裝支持SMB協議的軟件。這樣使用Windows的客戶端不須要更改設置, 就能像使用Windows NT或Windows 2000服務器同樣,使用Unix/Linux計算機上的共享資源了。
Samba使SMB協議運行在NetBIOS協議上,而且使用Windows的 NetBEUI協議讓Unix/Linux服務器 能夠在Windows的網絡鄰居上被訪問到。

2、
Samba的守護進程
 
1. smbd
監聽139
TCP端口     設置共享目錄、打印等
2. nmbd
137. 138 UDP端口     管理羣組、NetBIOS 等解析工做
這裏要注意的是fedora9基於安全考慮,把smb和nmb兩個服務給分離了,平時咱們在使用samba服務的時候,在啓動smb服務的同時nmb這個服務也會跟着啓動,fedora9中則否則,這就形成了咱們設置好fedora9中共享的時候,只能使用[url=file://ip/]\\ip[/url] 來訪問,而不能使用[url=file://計算機名/]\\計算機名[/url] 來訪問,解決的辦法就是同時啓動smb和nmb服務
3、
軟件的安裝
使用rpm –qa|gerp samba來檢查是否安裝了samba 軟件包,若是沒有安裝的話請自行安裝如下的軟件包
# rpm –ivh samba-3.2.0-1.pre3.9.fc9.i386.rpm
# rpm –ivh samba-winbind-3.2.0-1.pre3.9.fc9.i386.rpm
# rpm –ivh samba-common-3.2.0-1.pre3.9.fc9.i386.rpm
# rpm –ivh samba-client-3.2.0-1.pre3.9.fc9.i386.rpm
# rpm –ivh system-config-samba-1.2.63-1.fc9.noarch.rpm
或者你用yum install samba* -y就能夠一次搞定了。

4、
啓動samba服務
#service smb start
(/etc/init.d/smb start )啓動smb服務
#service nmb start (/etc/init.d/nmb start )啓動nmb服務
固然你也可使用chkconfig –-level smb 35 on 來設置啓動級別,這個很少說了。
咱們來檢查一下是是否正常啓動兩個服務,使用命令 pstree | grep mb
顯示爲以下若是則爲正常啓動:
|-nmbd
|-smbd---2*[smbd]
|-tomboy---2*[{tomboy}]

5、
配置smb.conf文件
知識點,samba 有四種安全級別,它們分別是:
share:用戶不須要用戶名和就可登錄samba 服務器
user:用戶須要輸入用戶名和密碼才能夠登錄samba服務器
server:請自行查資料,不經常使用,略
domain:請自行查資料,不經常使用,略
對於咱們小菜來講,咱們使用user級別就能夠了,若是偷懶的話你能夠用share
咱們先備份配置文件smb.conf
#cp /etc/samba/smb.conf
/etc/samba/smb.conf.bak

而後查找你的security = user是否爲user若是是share的話改成user
#vi /etc/samba/smb.conf
workgroup = WORKGROUP //設置工做組
server string = %U's samba %v //描述信息%U表明當前登錄用戶
netbios name = fedora //netbios名字,fedora9默認沒有啓用
log file = /var/log/samba/log.%m //日誌文件保存路徑%m你的windows主機名
max log size = 50 //日誌最大容量
security = user //安全級別,user須要用戶名和密碼,share級別則不要
[share]
//創建一個共享名爲share的共享

comment = samba
//描述信息

path = /tmp/share
//共享路徑

public = no //是否容許guest用戶訪問(至關於guest ok = yes/no)

writable = yes //是否可寫

write list = lovehack //能夠寫入的用戶列表(@表明用戶組)

下面創建共享目錄並添加權限
#mkdir /tmp/share
#chmod 775 /tmp/share
#chown lovehack.lovehack /tmp/share
6、
添加用戶並測試共享
添加訪問samba的用戶,命令smbpasswd –a 用戶名
#smbpasswd –a lovehack
//lovehack爲事先創建好的用戶
而後輸入兩次密碼就能夠了,注意這裏的密碼和你登錄系統的密碼是不同的,只是用來訪問共享的密碼。
如今咱們就能夠來測試一下配置文件是否正確:testparm 通常是沒有什麼問題的。
如今咱們能夠用[url=file://ip/]\\ip[/url]或者[url=file://計算機名/]\\計算機名[/url] 來訪問共享了。
7、
解決fedora10中selinux拒絕訪問共享的問題
在其它版本的linux中(AS5,AS4,Centos)中作如上設置後就能夠正常訪問共享了,可是在fedora9中卻不行,咱們只能看到共享,可是訪問的時候會出現拒絕訪問的狀況,這是爲何呢?由於selinux對samba共享作了限制,咱們只用把selinux中對samba的限制給解決了就好了,咱們作以下設置就OK了,這也是我作此教程的目的:
#setsebool –P samba_enable_home_dir on
#setsebool –P samba_export_all_ro on
#setsebool –P samba_export_all_rw on
咱們能夠用命令getsebool –a | grep samba
查看上面三項是否打開,打開的話你的共享應該就正常了。
 
要點:
1. 進入 /etc/samba 修改 smb.conf (加入賬號等)
 ----------------------- Netwrok Related Options -------------------------
 workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH
 server string is the equivalent of the NT Description field
 netbios name can be used to specify a server name not tied to the hostname
 Interfaces lets you configure Samba to use multiple interfaces
 If you have multiple network interfaces then you can list the ones
 you want to listen on (never omit localhost)
 Hosts Allow/Hosts Deny lets you restrict who can connect, and you can
 specifiy it as a per share option as well
       #workgroup = MYGROUP
        workgroup = WORKGROUP
        #server string = Samba Server Version %v
         server string = feroda10
         username map = /etc/samba/smbusers
;       netbios name = MYSERVER
        netbios name = feroda samba
;       interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
;       hosts allow = 127. 192.168.12. 192.168.13.

#============================ Share Definitions ==============================
[homes]
        comment = Home Directories
        browseable = no
        writable = yes
        valid users = charles
;       valid users = %S
;       valid users = MYDOMAIN\%S
 
#    ==================my share work directoy=================
[mywork]
comment = my work
path = /work
valid users = charles
writable = yes

2. 修改 /etc/samba/smbusers:
# Unix_name = SMB_name1 SMB_name2 ...
root = administrator admin
nobody = guest pcguest smbguest
charles = dhtshq
(dhtshq 是 windows 的賬號,charles 是linux 下的賬號)
這樣的話, 能夠在 windows  上以  dhtshq 登錄  samba.
3.加入samba 賬號(若是須要的話):
bash-3.2# pdbedit -a charles

4. 重啓 samba 服務:
bash-3.2# service smb restart
bash-3.2# service nmb restart
或者
 /etc/rc.d/init.d/smb start
 /etc/rc.d/init.d/nmb start
而後, 進入 windows 網絡鄰居, 就能夠看到共享目錄了
---------------------------------------------------------------------------------------------------------有時, 設置後, 能看到共享目錄,卻沒有權限訪問。在這種狀況下, 能夠檢查一下防火牆的設置( samba對應的端口有沒有打開), 或者 關閉 selinux (修改 /etc/selinux/config).
相關文章
相關標籤/搜索