日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linuxSAMBA共享

發布時間:2025/3/8 linux 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linuxSAMBA共享 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自http://blog.chinaunix.net/uid-20537084-id-2977850.html

?

?

經常要在Windows與Linux之間共享文件,Samba是一個很常見的選擇:Linux運行Samba服務,Windows訪問Linux上共享的文件。在不需要用戶訪問控制的場景下,Samba服務的安全級別設置為共享(share)就可以了。我的需求是想對Samba服務的訪問者進行身份驗證,所以選擇用戶安全級別(user)。user級別要求用戶訪問samba服務時提供用戶名和密碼,而且身份驗證由 samba server 負責。下面是用smbpasswd方式做的,因我的需求很單一,所以Samba的配置文件也非常簡單。這里做個筆記記錄一下以備忘。


一、準備Samba軟件

1. 安裝Samba相關軟件包,安裝過程略

2. 備份samba配置文件,我們后面要自己從頭新建一個配置文件

  • sudo mv /etc/samba/smb.conf /etc/samba/smb-original.conf

  • sudo touch /etc/samba/smb.conf


  • 二、工作場所

    我們在/etc/samba目錄下工作,涉及的文件都在這個目錄下。


    三、相關文件

    用smbpasswd完成user安全級別需要修改或者生成的文件只有下面3個:

    /etc/samba/smb.conf ? ? ? ?# samba配置文件,大家都懂的

    /etc/samba/smbusers ? ? ? ?# 用來定義用戶名映射,比如可以將root換成administrator、admin等

    /etc/samba/smbpasswd ? ? ? # samba密碼存放文件

    下面簡單描述一下這3個文件。


    四、smb.conf 文件

    samba自帶的smb.conf文件注釋很多,例子給的也不少,容易讓人覺得這個文件很復雜,其實它的框架很簡單,主要包括下面幾個小節:

  • [global]

  • ?

  • [homes]

  • ?

  • [printers]

  • ?

  • [自定義小節]


  • 其中[自定義小節]可以有多個,分別共享不同的目錄。

    我不關心打印機共享,所以注釋掉了[printers]小節。

    我也不想讓用戶登陸samba之后看到自己的“家”目錄,所以也注釋掉了[homes]小節。因為登陸samba server的用戶也同時必須是linux系統的用戶,即存在于/etc/passwd文件中的用戶,所以每個samba用戶會有自己的“家”目錄,在/home下,目錄名稱是使用者自己的帳號。


    我們主要關注[global]小節和[自定義小節],[global]小節中我們此次關注的重要參數有以下幾個:

  • workgroup = WORKGROUP

  • 說明:指明共享所在的工作組,可以是NT域名、工作組名


  • server string = samba server on ubuntu

  • 說明:客戶端看到的服務器的描述信息


  • netbios name = ubuntu_smb

  • 說明:設置Samba Server的NetBIOS名稱。如果不填,則默認會使用該服務器的DNS名稱的第一部分。netbios name和workgroup名字不要設置成一樣了


  • interfaces = 127.0.0.0/8 eth0

  • 說明:設置Samba Server監聽哪些網卡,可以寫網卡名,也可以寫該網卡的IP地址


  • hosts allow = 192.168.1. 192.168.163. 192.168.153.

  • 說明:表示允許連接到Samba Server的客戶端,多個參數以空格隔開。可以用一個IP表示,也可以用一個網段表示。我這里只允許3個網段里的所有客戶端訪問samba server。


  • security = user

  • 說明:設置用戶訪問Samba Server的驗證方式,一共有四種驗證方式。?

    1. share:用戶訪問Samba Server不需要提供用戶名和口令, 安全性能較低。?

    2. user:Samba Server共享目錄只能被授權的用戶訪問,由Samba Server負責檢查賬號和密碼的正確性。賬號和密碼要在本Samba Server中建立。?

    3. server:依靠其他Windows NT/2000或Samba Server來驗證用戶的賬號和密碼,是一種代理驗證。此種安全模式下,系統管理員可以把所有的Windows用戶和口令集中到一個NT系統上,使用Windows NT進行Samba認證, 遠程服務器可以自動認證全部用戶和口令,如果認證失敗,Samba將使用用戶級安全模式作為替代的方式。?

    4. domain:域安全級別,使用主域控制器(PDC)來完成認證。

    我只需要user級別的安全驗證就可以了。


  • username map = /etc/samba/smbusers

  • 說明:用來定義用戶名映射,比如可以將root換成administrator、admin等。要事先在smbusers文件中定義好。比如:root = administrator admin,這樣就可以用administrator或admin這兩個用戶來代替root登陸Samba Server,以保護Linux的系統賬號root。后面會介紹這個文件。


  • encrypt passwords = true

  • 說明:是否將認證密碼加密。因為現在windows操作系統都是使用加密密碼,所以一般要開啟此項。


  • passdb backend = smbpasswd

  • 說明:passdb backend密碼驗證后端。目前支持的有三種:smbpasswd、tdbsam和ldapsam。其中smbpasswd方式是使用smb自己的工具smbpasswd來給系統用戶(真實用戶或者虛擬用戶)設置一個Samba密碼,客戶端就用這個密碼來訪問Samba的資源。smbpasswd文件默認在/etc/samba目錄下,不過有時候要手工建立該文件。這里我選用smbpasswd。


  • smb passwd file =/etc/samba/smbpasswd

  • 說明:用來定義samba用戶的密碼文件。smbpasswd文件如果默認不存在,要手工新建。后面有介紹這個文件。


  • log file = /var/log/samba/log.%m

  • 說明:設定 samba server 日志文件的儲存位置和文件名(%m代表客戶端主機名)。


  • max open files = 1000

  • 說明:同一客戶最多能打開的文件數目


  • socket options = TCP_NODELAY

  • 說明:用來設置服務器和客戶端之間會話的Socket選項,可以優化傳輸速度。



    [自定義小節]小節主要的參數如下:


  • comment = code

  • 說明:comment是對該共享的描述,可以是任意字符串。


  • path = /home/songyd/code

  • 說明:path用來指定共享目錄的路徑。


  • writable = yes

  • 說明:writable用來指定該共享路徑是否可寫。這里我們允許寫入,以滿足文件雙向共享。


  • browseable = yes

  • 說明:browseable用來指定該共享是否可以瀏覽。


  • available = yes

  • 說明:available用來指定該共享資源是否可用。


    五、smbusers 文件

    該文件格式如下:

    系統用戶名 = 映射的虛擬賬號1,映射的虛擬賬號2,...

    例如:

  • songyd = admin

  • songyd用戶是samba用戶,也是一個Linux系統的賬號,為了不讓samba用戶知道存在songyd這個系統賬號,可用這個文件實現songyd賬號到虛擬賬號admin的一個映射。只需告訴使用者用admin賬號登陸即可,這樣就保護了songyd這個賬號。當然此時用songyd賬號登陸samba也是可以的。


    六、smbpasswd 文件

    該文件格式如下:

  • name:uid:Lanman Password Hash:NT Password Hash:Account Flags:Last Change Time:

  • 該文件可能默認并不存在,需要手動建立。建立后使用以下命令添加samba賬號songyd的密碼:

  • sudo smbpasswd -a songyd

  • 這個命令會在/etc/samba/smbpasswd中寫入類似如下內容:

  • songyd:1000:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:BC53166B76BB840735D6AB4438B4CD5E:[U ? ? ? ? ?]:LCT-4EA2F59B:

  • 這些內容是命令自己添加的,我們不用去管。

    【注意】有時發現smbpasswd命令即使執行沒有錯誤,但/etc/samba/smbpasswd中卻沒有添加任何內容。這是由于smb.conf的passdb backend參數配置不正確,此參數必須設置為smbpasswd,這時smbpasswd -a songyd才會在/etc/samba/smbpasswd文件中添加記錄。


    七、最后結果

  • [global]

  • ? ? workgroup = WORKGROUP

  • ? ??server string = samba server on ubuntu

  • ? ??netbios name = ubuntu_smb

  • ? ??interfaces = 127.0.0.0/8 eth0

  • ? ??hosts allow = 192.168.1. 192.168.163. 192.168.153.

  • ? ??security = user

  • ? ??username map = /etc/samba/smbusers

  • ? ??encrypt passwords = true

  • ? ??passdb backend = smbpasswd

  • ? ??smb passwd file =/etc/samba/smbpasswd

  • ? ??log file = /var/log/samba/log.%m

  • ? ??max open files = 1000

  • ? ??socket options = TCP_NODELAY

  • ?

  • ;[homes]

  • ;? ?comment = home directories

  • ; ? browseable = no

  • ; ? writable = yes

  • ; ? valid users = %S

  • ; ? create mode = 0664

  • ?

  • ;[printers]

  • ; ? printable = Yes

  • ; ? browseable = No

  • ; ? path = /var/spool/samba

  • ?

  • [code]

  • ? ??comment = code

  • ? ??path = /home/songyd/code

  • ? ??writable = yes

  • ? ??browseable = yes

  • ? ??available = yes


  • 八、重啟服務

    smb.conf修改完成,smbusers也已添加完畢,smbpasswd文件也已通過命令成功添加了記錄,下面重啟samba服務即可。Samba 有兩個守護進程(nmbd 和 smbd),需要運行它們Samba 才能正常工作。

    nmbd 是一個服務器,它可以理解和響應 NetBIOS over IP 命名服務請求,比如 Windows 95/98/ME、Windows NT、Windows 2000、Windows XP 和 LanManager 客戶機等 SMB/CIFS客戶機產生的請求。它還參與瀏覽協議,從而構建 Windows 網絡鄰居視圖。

    smbd 是服務器守護進程,它向 Windows 客戶機提供文件共享和打印服務。這個服務器使用 SMB(或CIFS)協議向客戶機提供文件空間和打印服務。

  • sudo service smbd restart

  • sudo service nmbd restart


  • 九、軟件環境

    Linux系統 ?:ubuntu 11.10

    Samba版本:Samba 3.5.11

    轉載于:https://blog.51cto.com/weimouren/1793605

    總結

    以上是生活随笔為你收集整理的linuxSAMBA共享的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。