天天看點

2 Samba檔案共享服務

samba檔案共享服務

一 samba服務介紹

samba是著名的開源軟體之一,它在linux上實作了微軟的smb/cifs網絡協定,能跨平台實作檔案互通路題

1 samba軟體包構成

samba-3.0.33-3.28.el5                //服務端軟體(預設安裝)

samba-common-3.0.33-3.28.el5         //公共元件(預設安裝)

samba-client-3.0.33-3.28.el5         //用戶端軟體(預設安裝)

samba-swat-3.0.33-3.28.el5.i386.rpm  //web圖形管理軟體

2 samba伺服器的主要程式

smbd:提供對伺服器中檔案、列印資源的共享通路

nmbd:提供基于netbios主機名稱的解析

3 samba的服務腳本

/etc/init.d/smb

4 samba的配置目錄及檔案

/etc/samba/

/etc/samba/smb.conf

配置檔案檢查工具:testparm

二 主配置檔案smb.conf

1 配置檔案預設共享

:vim /etc/samba/smb.conf

[global]            //全局設定

workgroup = mygroup            //所在工作組名稱

server string = samba server version %v    //伺服器描述資訊

security = user    //安全級别,可用值如下: share、user、server、domain

passdb backend = tdbsam    //設定共享賬戶檔案的類型

load printers = yes

cups options = raw

[homes]            //宿主目錄共享設定

comment = home directories    //對共享目錄的注釋、說明資訊

browseable = no            //該共享目錄在"網路上的芳鄰"中是否可見

writable = yes            //是否可寫,與read only的作用相反

[printers]            //列印機共享設定

comment = all printers

path = /var/spool/samba        //共享目錄在伺服器中對應的實際路徑

browseable = no

guest ok = no    //是否允許所有人通路,等效于"public

writable = no    

printable = yes

2 自定義共享目錄

[newname]

comment = rhel 5.5 dvd directory.

path = /media/cdrom

public = yes            //是否使用者驗證

read only = yes

三 建構檔案共享伺服器

1 安裝samba軟體

:yum install samba    //安裝

:rpm -qa samb*    //檢視

2 可匿名通路的共享

1)建立共享目錄

:mkdir t227

2)修改smb.conf配置檔案

[global]    

security = share    //允許匿名

[t227]

comment=dddddddddd

path=/t227

public=yes        //不需要使用者驗證,所有人都可以通路

readonly=yes      //隻能讀取不能寫入

3)可上傳的匿名共享

a) 給共享檔案夾寫入權限

:chmod o+rwx t227

b) 修改配置檔案

[global]

security = share

public=yes      //無需使用者驗證

readonly=no    //将隻讀禁止即可

3 需使用者驗證的共享

samba使用獨立的共享賬戶資料庫檔案,其中賬戶名稱必須與它同名的系統使用者名相對應,以便對讀寫權限進行控制,共享賬戶的密碼可以與系統使用者的密碼不一樣

1)建立共享賬戶

:useradd     //建立對應系統賬戶

:pdbedit -a u1    //建立同名共享賬戶

:pdbedit -l    //檢視共享賬戶清單

:pdbedit -x u1    //删除共享賬戶

2)設定使用者通路授權

a)建立共享目錄        //注意不要将目錄建立到root下了

:mkdir t227    

b)修改配置檔案

security = user

[t227]        

comment=alll

public=no

readonly=no        //可寫入

valid users=lisi,zhangsan    //指定通路的使用者

write list =lisi        //可上傳使用者

注:有時候在windows上登入時驗證時間比較長,即使輸入正确的密碼也提示錯誤,隻要耐心等待一會即可

c)确定使用者通路權限

:chmod o+rw t227        //設定目錄寫入權限

d)設定上傳檔案和目錄的預設權限

: vi /etc/samba/smb.conf

[tools]

……

directory mask = 0755

create mask = 0644

4 重新開機服務

:service smb reload

四 使用者映射及通路位址限制

1 共享賬号映射(别名)

:vim /etc/samba/smbusers

root = administrator admin                //可以設定多個别名

nobody = guest pcguest smbguest

lisi = nimei qianqian

:vim /etc/samba/smb.conf                    //添加全局配置啟用别名

username map=/etc/samba/smbusers

:service smb restart                        //重新開機服務

2 通路位址限制

一般用在全局配置[global]部分,也可以用于某個具體的共享配置

hosts allow配置項:僅允許特定的客戶機

hosts deny配置項:僅拒絕特定的客戶機

客戶機位址表示形式:

以空格分隔多個位址

主機名或ip位址,例如: 192.168.168.11 或者 prtsvr

網絡位址,例如:173.17. 或者 173.17.0.0/255.255.0.0

: vi /etc/samba/smb.conf

hosts allow = 192.168.4. 173.17.    

五 通路共享檔案夾

1 在linux客戶機上的通路

1)查詢目标主機上的共享資源清單

:smbclient -l 192.168.4.11        //無需輸入密碼,直接回車即可

登入并通路共享檔案件

:smbclient -u lisi //192.168.4.11/t227

password:

domain=[localhost] os=[unix] server=[samba 3.0.33-3.28.el5]

smb: \> pwd    //檢視目前路徑

smb: \> ls    //顯示目錄清單

smb: \> lcd /root  //切換到本地下載下傳目錄

smb: \> cd t227    //切換到共享目錄

smb: \> mget share* //下載下傳share開頭的檔案到/root下

smb: \> quit    //退出

使用mount挂載共享檔案夾

挂載後可直接檢視共享檔案内容

:mkdir /media/smbdir    //建立挂載目錄

:mount -o username=lisi //192.168.4.11/tools /media/smbdir/        //挂載

:mount | tail -1        //檢視挂載狀态

//192.168.4.11/tools on /media/smbdir type cifs (rw,mand)

2 windows客戶機通路

方法:在運作裡輸入\\192.168.1.1即可通路

注:需要切換使用者時在cmd裡輸入net use * /del

清除共享使用者緩存,清不掉時多執行幾次指令即可

六 swat 圖像管理工具

1 swat介紹

swat是samba的圖形化管理工具。我們可以通過浏覽器利用swat工具來設定samba

swat工具嵌套在xinetd超級守護程序中,要通過啟用xinetd程序來啟用swat。是以要先安裝xinetd工具包,然後安裝swat工具包。

2 編輯swat配置檔案

因為swat是xinetd超級守護程序的一個子程序,是以swat配置檔案在/etc/xinetd.d目錄中

:vim /etc/xinetd.d/swat

service swat

{

port = 901                //tcp端口号,可修改

socket_type = stream

wait = no

only_from = 0.0.0.0       //指定來訪ip位址,預設隻能本機,修改為所有ip

user = root

server = /usr/sbin/swat

log_on_failure += userid

disable = no            //随xinetd一起啟動

3 檢視tcp端口号是否被添加進去

:cat /etc/services | grep 901

如果/etc/services檔案中沒有tcp901,那麼就編輯該檔案,添加"swat 901/tcp"即可

4 啟動swat

因為swat是xinetd的子程序,是以隻要啟用了xinetd,那麼swat也就會伴随xinetd啟動

: service xinetd restart

5 防火牆設定

關閉防火牆或者開啟swat相關端口。

【關閉防火牆】

[root@rhel5 /]#service iptables stop

【開啟swat901端口,直接寫入input鍊,重新開機iptables會丢失】

[root@rhel5 /]#iptables -i input -p tcp --dport 901 -j accept

【開啟swat901端口,通過編輯"rh-firewall-1-input"自定義鍊來打開,配置不會丢失】

[root@rhel5 /]#vi /etc/sysconfig/iptables

加入:-a rh-firewall-1-input -p tcp --dport 901 -j accept

【關閉selinux】

[root@rhel5 /]#vi /etc/sysconfig/selinux

設定"selinux=disabled"

6 使用web登入swat

http://192.168.120.241:901

七 實驗

作者:馬向軍時間:2013-05-07

實驗目的:建構samba檔案共享伺服器,模拟公司内部共享需求

實驗要求:

1 公司需要一個所有員工都能通路,但隻有讀取權限的共享目錄

2 公司需要一個管理者和技術部所有員工都能通路,但隻有讀取權限、禁止其他員工通路的共享目錄

3 公司需要一個技術不所有員工可以讀取,但隻有管理者和項目組的所有員工可以寫入的共享目錄

實驗環境:如圖所示

2 Samba檔案共享服務

實驗步驟:

1,在伺服器上安裝samba服務

:rpm -qa samb*        //檢視

2,建立組、使用者和共享賬戶

:groupadd jishu          建立技術組

:groupadd xiangmu        建立項目組

:useradd jishu1          建立技術組員工

:useradd xiangmu1        建立項目組員工

:pdbedit -a jishu1       添加共享賬戶jishu1

:pdbedit -a xiangmu1     添加共享賬戶xinagmu1

:gpasswd -a jishu1 jishu 将技術組員工加入基本組jishu

:gpasswd -a xiangmu1 xiangmu        将項目組員工加入基本組xiangmu

要求1

:mkdir public            建立目錄

:vim /etc/samba/smb.conf 添加共享目錄

[public]

comment=all

path=/public

public=yes        所有人都可以通路

readonly=yes      不能寫入

:service smb restart        重新開機服務

要求2

:mkdir jishu

:pdbedit -a root        添加共享賬戶root

:vim /etc/samba/smbusers     為root使用者設定别名

root = admin

:vim /etc/samba/smb.conf    配置共享目錄

[jishu]

comment=jishu

path=/jishu

public=no       //不公開

readonly=yes    //不能寫入

valid users=admin,@jishu        //隻admin和技術部員工能通路

要求3

:mkdir xiangmu

:vim /etc/samba/smb.conf        配置共享目錄

[xiangmu]

public=no          //不公開

valid users=admin,@xiangmu,@jishu        //可通路清單

write list=admin,@xiangmu  //可寫入使用者

:chown :xiangmu xiangmu       //給共享目錄設定屬組

:chmod g+w xiangmu            //設定屬組可寫

:service smb restart         //重新開機服務

繼續閱讀