Linux系統管理.Samba文件服務器

A、Windows 的網上鄰居

———-基本概念

———-共享與訪問共享

B、Samba工具集

———Samba軟件與工具介紹

———Samba爲windows提供共享

C、Samba文件服務器

———安全級別

———用戶帳號與認證

                           Windows的網上鄰居

1、工作原理

通過SMB協議共享傳輸文件,具有自己的主機名稱解析系統(Wins)SMB(Server Message Block),CIFS(Common Internet File System)是基於Netbios協議的,所以不能夠跨越子網通信。

服務器端:提供名字查詢服務,共享文件列表,對對客戶端進行認證授權;

客戶端:尋找能夠訪問的資源,請求驗證,請求訪問文件和目錄;

瀏覽器服務提供所有主機名和工作組名的緩衝服務。

2、基本概念

主機名:局域網中的NetBios主機名,在局域網中唯一;

共享名:共享資源(目錄/打印機)的名稱,在主機中唯一;

工作組名:主機的組織機構名,主機間地位等;

域名:主機的組織機構名稱,客戶端主機需要域服務提供誰瀏覽、共享服務,所以可用:\\主機名\共享名瀏覽目錄。

                          網上鄰居的認證模式

1、工作組模式

用戶帳號分別存放在每臺主機上,只有通過對方主機的誰授權才能訪問對方的共享資源(如A想訪問B主機的共享,A必須得到B機上的用戶帳號和密碼纔可以)

2、域服務器模式

用戶帳號集中存貯在域服務器上,每臺主機都要經過域服務器誰授權,才能訪問其它主機上的資源。(用戶的驗證的用戶名與密碼是由域上的域名服務器提供的。)

                                                            Windows訪問網上鄰居

1)、Win95/98/ME/2000/XP 需要安裝TCP/IP、NETBEUI,IPX/SPX其中的任意一種協議,但跟linux共享網上鄰居必須安裝TCP/IP

2)、從網上鄰居中尋找到“工作組”—>“主機名”—>“共享目錄名”來訪問共享資源。

3)、直接在瀏覽器的地址欄裏輸入\\server\sharename\\IP\sharename也可以查看.

                     Linux中訪問網上鄰居

1)、需要samba客戶端軟件的支持;

2)、使用掛載的方法:

#mount –t smbfs //server/sharename/localdir 或#smbmount //server/sharename/localdir

3)、使用smbclient

#smbclient //server/sharename/localdir –U username%password

                               訪問控制

一、全局訪問控制:

[global]

              hosts deny = ALL

              hosts allow = 10.0.0.

二、局部訪問控制:

[docs]

            hosts deny = 10.0.0.

            hosts allow = 10.0.241

[redhat]

           hosts allow = 10.0.0.

           hosts deny = 10.0.0.241  <———此項對241的限制將失效!!<>允許優先<>

                        Samba用戶帳號

1、共享目錄設置有效用戶

[redhat]

            path = /var/redhat

            comment = redhat’s files

            vaild users =<username><@groupname>

2、新建Samba用戶

#useradd username                <增加系統用戶>

#smbpasswd –a username      <不設置系統用戶的密碼,增加samba用戶>

3、用戶帳號映射

[global]

         username map = /etc/samba/smbusers

#smbuseradd unixname:mapname    <系統用戶與smbuser的映射關係>

4、客戶端訪問演示

1)、#vi /etc/samba/smb.conf

更改[global]選項中的:workgroup = WORKGROUP 保存退出。

2)、#useradd redhat

       #smbpawsswd –a redhat

3)、vi /etc/samba/smb.conf

輸入/map查找username map = /etc/samba/smbusers 這一行記錄,刪除此記錄前的;讓其生效

4)、vi /etc/samba/smbusers 文件

仿照上面的兩行增加一行記錄: redhat = tom jack test 然後保存退出!

5)、重新啓動smb服務:#service smb restart  or # /etc/init.d/smb restart

6)、測試用映射帳號登錄:

      Windows 下直接在運行裏輸入:\\192.168.0.254 回車輸入相應的用戶名、密碼即可。

       Linux 下可以用:#smbmount //192.168.0.254/redhat /mnt –o username=tom%123 掛載即可,然後用#mount命令查看是否掛載成功,如果最後一行出現上述的記錄後,可以直接切換到掛載目錄下訪問,用過之後,可用#umount /mnt 卸載即可。

                         Samba用戶的配置文件的簡要說明

[global]         此選項爲全局性變量

                  security = user

[homes]        此選項是個人設定項

           comment = Home Directories

           valid users = %s  (用%s 表示文件屬主)

            brwseable = no

            wirtable = yes

#smbclient –L 192.168.0.254 –U redhat

smb:>   出現類似的提示符,說明成功進入此目錄

用戶的寫權限要保證兩點:第一,配置文件要求用戶能寫;第二,系統中的目錄要求用戶可寫。

                         Samba用戶的權限

[redhat]

path = /var/redhat

comment = redhat’s files

public = no

valid users = <username><@groupname>

write lists = <username><@groupname>

create mask = 0660

directory mask =0770

注:客戶端所有的請求訪問身份在服務器端都會被映射成登錄的帳號的身份,所以映射帳號的前提是此帳號是系統帳號,然後纔是映射帳號

#chown redhat.redhat /var/redhat

#ls –ld /var/redhat

#smbmount //192.168.0.254/test /mnt –o username=tom%123

#ls –ld /mnt

#touch /mnt/aa

#ls –l /mnt/aa

#whoami

#id redhat

#chgrp redhat /var/redhat

#chmod g+w /var/redhat

#ls –ld /var/redhat

#testparm 測試smb.conf 語法是否正確

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