Fedora 14 搭建 samba服務

      samba服務器可以實現windows與linux的文件共享,SMB協議是建立在NetBIOS協議之上的應用協議,是基於TCP138、139兩個 端口的服務,NetBIOS出現之後,Microsoft就使用 NetBIOS實現了一個網絡文件/打印服務系統。這個系統基於NetBIOS設定了一套文件共享協議,Microsoft稱之爲SMB(Server Message Block) 協議,這個協議被用於Lan Manager和Windows服務器系統中,實現不同計算機之間共享打印機和文件等。
      Fedora Samba使SMB協議運行在NetBIOS協議上,並且使用Windows的NetBEUI協議讓Unix/Linux服務器可以在Windows的網絡鄰居上被訪問到。

1.安裝 samba軟件

      yum –y install samba*

2.啓動 samba服務

      (1)etc/init.d/smb start
      (2)etc/init.d/nmb start

或者通過X –windwos

      系統->管理->服務->服務配置   開啓smb和nmb

3.samba簡單配置

配置主要通過編輯/etc/samba/smb.conf來實現。(要有讀寫權限,su到root)
你可以chmod 777 smb.conf 然後用文本編輯器編輯該文件,當然你也可以用VI直接編輯。
[root@localhost ~]# vi /etc/Samba/smb.conf ← 編輯 Fedora Samba 的配置文件
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級別則不要
[Fedora Samba] //建立一個共享名爲Fedora Samba的共享
comment = Samba//描述信息
path = /home/bsc/samba//共享路徑
public = no //是否允許guest用戶訪問(相當於guest ok = yes/no)
writable = yes //是否可寫
write list = samba_user //可以寫入的用戶列表(@代表用戶組)

[root@localhost ~]# smbpasswd –a samba_user (把linux系統中存在的用戶。samba_user。添加到samba中)

 

把防火牆打開
[root@localhost ~]# vi /etc/sysconfig/iptables ← 編輯 iptables 配置文件
-A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT ← 找到此行,在下面添加如下行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A INPUT -p udp -m udp --dport 137 -j ACCEPT
-A INPUT -p udp -m udp --dport 138 -j ACCEPT

下面重新啓動iptables是修改生效:
[root@localhost ~]# /etc/rc.d/init.d/iptables restart。顯示ok就行了

啓動 Fedora Samba 服務(含兩個守護進程:smb,nmb)。

[root@localhost ~]# chkconfig smb on ← 設置 Fedora Samba 自啓動
[root@localhost ~]# chkconfig --list smb ← 確認 Fedora Samba 啓動標籤,確認 2-5 爲 on 的狀態
[root@localhost ~]#chkconfig nmb on ← 設置 nmb 自啓動
[root@localhost ~]## chkconfig --list nmb ← 確認 nmb 啓動標籤,確認 2-5 爲 on 的狀態
nmb 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@localhost ~]#/etc/rc.d/init.d/smb start(或者service smb start) ← 啓動 Fedora Samba 服務
Starting SMB services: [ OK ]
[root@localhost ~]# /etc/rc.d/init.d/nmb start ← 啓動 nmb 服務
Starting NMB services: [ OK ]

這就是SELINUX設置
chcon -R -t samba_share_t /home/samba
chcon -R -t samba_share_t /mnt/share share
命令可以參考smb.conf 配置文件中的前面的說明文檔
有一個更簡單的辦法,直接禁用selinux
vi /etc/sysconfig/selinux
selinux=disable 把原來的enable 改爲disable即可

 

在其它版本的linux中(AS5,AS4,Centos)中做如上設置後就可以正常訪問共享了,但是在fedora中卻不行,我們只能看到共享,但是訪問的時候會出現拒絕訪問的情況,這是爲什麼呢?因爲selinux對samba共享做了限制,我們只用把selinux中對samba的限制給解決了就行了,我們做如下設置就OK了:
         #setsebool –P samba_enable_home_dirs on
         #setsebool –P samba_export_all_ro on
         #setsebool –P samba_export_all_rw on
     我們可以用命令getsebool –a | grep samba
     查看上面三項是否打開,打開的話你的共享應該就正常了。

由於爲了開發的方便,windows下有許多很方便的工具,所以決定使用samba服務,但是默認情況下我的windows用戶是非 administrator權限的,所以爲了方便,將fedora下的samba共享的windows用戶設置爲root權限,就省去了在fedora下 root建立的文件,需要chown之後才能在windows下編輯。
首先,進入/etc/samba/,備份smbusers,後修改此文件,刪除root那一行的其他賬戶,只留你將使用的賬戶,然後開共享。
你也可以用圖形界面,不過前提也需要先刪除root那一整行。
      1 # Unix_name = SMB_name1 SMB_name2 ...
      2 nobody = guest pcguest smbguest
以上是針對user模式。

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