samba服務配置

samba是一個實現類UNIX操作系統與WINDOWS操作系統之間共享的一種SMB協議的軟件。包括的文件共享和打印機共享。


????????samba軟件主要結構及文件:?

????????????????/etc/samba/smb.conf? ?                #samba服務的主要配置文件?

????????????????/etc/samba/lmhosts? ? ?              ? ? #samba服務的域名設定,主要設置IP地址對應的域名,類似linux系統的/etc/hosts?

????????????????/etc/samba/smbusers? ?               ? #samba服務設置samba虛擬用戶的配置文件?

????????????????/var/log/samba? ? ? ? ?                #samab服務存放日志文件?

????????????????/var/lib/samba/private/{passdb.tdb,secrets.tdb}?    #存放samba的用戶賬號和密碼數據庫文檔?

????????Samba安裝(yum安裝)

[root@centos7 ~]# yum -y install samba*? ? ? ? ? ? ? ? ? ? #yum在線安裝samba

????????????????[root@centos7 ~]# rpm -qa | grep samba? ? ? ? ? ? ? ? ? ? #檢查samba安裝情況

????????????????????samba-client-3.6.23-41.el6.x86_64

????????????????????samba-winbind-clients-3.6.23-41.el6.x86_64

????????????????????samba-3.6.23-41.el6.x86_64

????????????????????samba4-libs-4.0.0-58.el6.rc4.x86_64

????????????????????samba-common-3.6.23-41.el6.x86_64

????????????????????samba-winbind-3.6.23-41.el6.x86_64?

????????????????注:Samab服務開啟之前需要關閉兩個服務,防火墻(如果你熟練使用防火墻可以不關閉,放行smb的端口即可,SAMBA服務TCP端口139,445? UDP端口 137,138);selinux服務

????????關閉防火墻:?

????????????????[root@centos7 ~]# systemctl stop firewalld.service? ? ? ? ? ? ? ? ? ? ? ? ?#停止防火墻

????????????????[root@centos7 ~]# systemctl disable firewalld.service? ? ? ? ? ? ? ? ? ? ?#禁止firewall開機啟動

????????關閉selinux:

????????????????[root@centos7 ~]# vim /etc/selinux/config? #永久關閉selinux

????????????????set SELINUX=disabled? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#SELINUX=enforcing改為SELINUX=disabled

????????????????[root@centos7 ~]# getenforce? ? ? ? ? ? ? ? ? ? ? #查看SELinux狀態

????????注:smb.conf配置文件分為兩大類,一個全局配置參數,一個是共享專用配置參數:

????????#全局配置參數

????????????[global]

????????????workgroup = WORKGROUP? ? ? ? #工作組名稱

????????????server string = Samba Server Version %v? ? #主機的簡要說明

????????????netbios name = MYSERVER? ? ?#主機的netBIOS名稱,如果不填寫則默認服務器DNS的一部分,workgroup和netbios name名字不要設置成一樣?

????????????interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24? ? ? #設置samba服務器監聽網卡,可以寫網卡名稱或IP地址,默認注釋

????????????hosts allow = 127. 192.168.12. 192.168.13.? ? ?#設置允許連接到samba服務器的客戶端,默認注釋

????????????hosts deny =192.168.12.0/255.255.255.0? ? ? ?#設置不允許連接到samba服務器的客戶端,默認注釋

????????????log level =1? ? ? ? ? #日志文件安全級別,0~10級別,默認0

????????????log file = /var/log/samba/%m?   #產生日志文件的命名,默認以訪問者IP地址命名

????????????max log size = 50? ?  #日志文件最大容量50,默認50,單位為KB,0表示不限制?

????????????security = share? ? #設置用戶訪問samba服務器的驗證方式 ,一共四種驗證方式。

?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)來完成認證。

????????????passdb backend = tdbsam? ?  #定義用戶后臺類型

1、smbpasswd:使用SMB服務的smbpasswd命令給系統用戶設置SMB密碼

????????????????2、tdbsam:創建數據庫文件并使用pdbedit建立SMB獨立用戶,smbpasswd –a username建立samba用戶并設置密碼,不過建立samba用戶必須先建立系統用戶,也可以使用pdbedit命令來建立samba用戶:

????????????????pdbedit –a username:新建Samba賬戶。

????????????????pdbedit –x username:刪除Samba賬戶。

????????????????pdbedit –L:列出Samba用戶列表,讀取passdb.tdb數據庫文件。

????????????????pdbedit –Lv:列出Samba用戶列表的詳細信息。

pdbedit –c “[D]” –u username:暫停該Samba用戶的賬號。

????????????????pdbedit –c “[]” –u username:恢復該Samba用戶的賬號。

3、ldapsam:基于LDAP服務進行賬戶驗證

????????????? username map = /etc/samba/smbusers? ?#配合/etc/samba/smbusers文件設置虛擬用戶

????????#共享文件設置參數

????????????[share]? ?#共享專用配置參數

????????????????comment =? This is share directory? ? ? #共享描述

????????????????path? =? /tmp/share? ? ?#共享目錄路徑

????????????????browseable? =? yes/no? ? ? #設置共享是否可瀏覽,如果no就表示隱藏,需要通過IP+共享名稱進行訪問

????????????????writable? =? yes/no?  #設置共享是否具有可寫權限

????????????????read only? =? yes/no?  #設置共享是否具有只讀權限

????????????????admin users? =? root  #設置共享的管理員,如果security =share 時,引項無效,多用戶中間使用逗號隔開,例如admin users = root,user1,user2

????????????????valid users? =? username?   #設置允許訪問共享的用戶,例如valid users = user1,user2,@group1,@group2(多用戶或組使用逗號隔開,@group表示group用戶組)

????????????????invalid users? =? username? ? ?#設置不允許訪問共享的用戶

????????????????write list? =? username? ?  #設置在共享具有寫入權限的用戶,例如例如write list? = user1,user2,@group1,@group2(多用戶或組使用逗號隔開,@group表示group用戶組)

????????????????public? =? yes/no? ?  #設置共享是否允許guest賬戶訪問

????????????????guest? ok? =? yes/no?    #功能同public 一樣

????????????????create mask = 0700? ? ? ? ?#創建的文件權限為700

????????????????directory mode = 0700? ? ? ? #創建的文件目錄為 700??

????????????一、不需要賬號密碼訪問的共享(security? =? share )

????????????????[root@centos7 samba]# systemctl start smb.service   #啟動samba服務

????????????????[root@centos7 samba]# ls -ld /tmp/share/? ? ? ?#查看共享文件權限

????????????????[root@centos7 samba]# chmod 777 /tmp/share/?  #分配共享文件最大權限

????????????????[root@centos7 samba]# testparm? ? ?#檢查smb.conf配置文件是否有語法錯誤

????????????????[root@centos7 samba]# netstat -tlnp | grep mbd? ? ? #查看samba端口,TCP端口139,445? UDP端口 137,138

????????????????[root@centos7 samba]# vim /etc/samba/smb.conf? ? #設置smb.conf配置文件


????????????????[global]

????????????????workgroup = WORKGROUP? ? ?#設置主機工作組

????????????????server string = Samba Server Version %v? ? ?#samba服務注釋

????????????????log level = 1? ? #設置日志文件安全級別為1

????????????????log file = /var/log/samba/%m? ? ? #設置日志文件名稱,%m以IP地址為名稱

????????????????max log size = 50? ? ?#設置日志文件最大容量50KB,0表示不限制?


????????????????security = share? ? ? #以share驗證方式訪問

????????????????passdb backend = tdbsam? ? ? #定義用戶后臺類型?

????????????????load printers = no? ? ? ?#關閉打印共享功能

????????????????cups options = raw? ? ? ?#打印機選項?

????????????????[usershare]

????????????????comment? =? Home Directories? ? ?#共享文件描述

????????????????path? =? /home/shareuser? ?#共享路徑

????????????????browseable? =? yes? ? ?#共享文件可以瀏覽

????????????????writable? =? yes? ? ? #共享文件可寫

????????????????; read only? =? yes? ? #共享文件可讀,不能與writable共用

????????????????guest ok =? yes? ? #允許guest用戶訪問


????????????????[root@centos7 samba]# systemctl restart smb.service  #重啟samba服務

????????????????注:出現下面提示 WARNING: Ignoring invalid value 'share' for parameter 'security'?

????????????????解決方法:? ? ????????????

????????????????samba4較之前的SAMBA 3有一個重大的變化是:security不再支持share,參數需要做調整

????????????????原來:

????????????????security=share

????????????????現在:

????????????????security=user

????????????????map to guest =Bad User

????????????????測試:? ? ????????

????????????????Windows系統操作:

????????????????在win 7系統打開運行輸入 \\192.168.42.222訪問,不需要輸入任何用戶和密碼?

????????????????在linux操作需要進行掛載:

????????????????[root@centos7 ~]# yum -y install samba-client? ?#在線安裝samba-client才能使用smbclient命令

????????????????[root@centos7 ~]# smbclient -L //192.168.42.222? ? #查看samba服務器共享目錄

????????????????[root@centos7 ~]# mount -t cifs //192.168.42.222/usershare /mnt/share? ?#掛載?

????????????二、需要輸入賬號和密碼訪問的共享(security? =? user)

????????????標注:創建samba用戶之前必須先創建系統用戶,系統用戶和samba用戶名一樣,但密碼可以設置成不一樣

????????????[root@centos7 samba]# useradd test01? ? ? #創建系統用戶test01

????????????[root@centos7 samba]# useradd test02? ? ? #創建系統用戶test02

????????????[root@centos7 samba]# passwd test01? ? ? ?#設置系統用戶test01密碼

????????????[root@centos7 samba]# passwd test01? ? ? ?#設置系統用戶test02密碼

????????????[root@centos7 samba]# smbpasswd -a test01? ? #把系統用戶test01添加為samba用戶并設置samba用戶登錄密碼

????????????[root@centos7 samba]# smbpasswd -a test02? ?  #把系統用戶test02添加為samba用戶并設置samba用戶登錄密碼

????????????[root@centos7 samba]# pdbedit –L? ? #查看samba用戶

????????????[root@centos7 samba]# mkdir /home/{smbadmin01,smbuser01}?  #home創建兩個共享目錄

????????????[root@centos7 samba]# chmod 777 /home/{smbadmin01,smbuser01}?  #目錄分配最高權限

????????????[root@centos7 ~]# vim /etc/samba/smb.conf? ?#設置smb.conf配置文件

????????????[global]

????????????workgroup = WORKGROUP? ? ? ? ? ? ? ? ?#設置主機工作組

????????????server string = Samba Server Version %v? ? ? #samba服務注釋

????????????log level = 1? ? ? ? ?#設置日志文件安全級別為1

????????????log file = /var/log/samba/%m? ? ? ? ? ? ?#設置日志文件名稱,%m以IP地址為名稱

????????????max log size = 50? ? ? ? ? #設置日志文件最大容量50KB,0表示不限制

????????????security = user? ? ? ? ? ?#以user驗證方式訪問

????????????passdb backend = tdbsam? ? ? ? ? ? #定義用戶后臺類型?

????????????load printers = no? ? ? ? ? #關閉打印共享功能

????????????cups options = raw? ? ? ? #打印機選項? ?貸超APP找上海捌躍網絡科技有限公司?17621291122

????????????[usershare]

????????????comment? =? Home Directories? ? ? ? ? ? #共享文件描述

????????????path? =? /home/smbuser01? ? ? ? ? ? ? #共享路徑

????????????browseable? =? yes? ? ? ? ? ? ? #共享文件可以瀏覽

????????????read only? =? yes? ? ? ? ? ? ?#共享文件可讀,不能與writable共用

????????????valid users? =? test01,test02? ? ? ? ?#設置允許訪問共享用戶?

????????????[adminshare]

????????????comment? =? Home Directories? ? ? ? ? #共享文件描述

????????????path? =? /home/smbadmin01? ? ? ? ? ? ? ?#共享路徑

????????????browseable? =? yes? ? ? ? ? ?#共享文件可以瀏覽

????????????writable? =? yes? ? ? ? ? ? ? #共享文件可寫

????????????create? make? =? 0664? ? ? ? ? ? #設置用戶創建文件權限0664

????????????directory? make? =? 0775? ? ? ? ? ? ?#設置用戶創建目錄權限0775

????????????write? list? ?=? ?test01? ? ? ? ?#設置允許訪問共享具有寫入權限的用戶?

????????????[root@centos7 samba]# systemctl restart smb.service? ? ? ?  #重啟samba服務?


????????????測試:

????????????Windows系統操作:

????????????在win 7系統打開運行輸入 \\192.168.42.222訪問,輸入test01用戶和密碼?

????????????在linux操作需要進行掛載:

????????????[root@centos7 ~]# yum -y install samba-client? ?    #在線安裝samba-client才能使用smbclient命令

????????????[root@centos7 ~]# smbclient -L //192.168.42.222? ?    #查看samba服務器共享目錄

????????????[root@centos7 ~]# mount -t cifs //192.168.42.222/usershare /mnt/share? ? #掛載?

三、特殊操作:(samba用戶映射,又稱作虛擬用戶)

 ? ? ?上述操作是創建系統用戶再分配對應的samab用戶,通過samba用戶就能知道你的系統用戶,缺乏一定的安全性。不過,samba提供了一種方法,就是把samba用戶映射成虛擬用戶。比如linux系統創建了一個用戶user,samba把user添加為samba用戶,samba再把user用戶虛擬成user01,user02等用戶,一個samba用戶可以虛擬成一個或多個虛擬用戶。這樣就可以保證系統用戶安全性。?

????????????操作跟上述操作一樣,只是修改一些地方即可:

????????????[root@centos7 ~]# vim /etc/samba/smb.conf? ? ? ? ?#設置smb.conf配置文件

????????????security = user? ? ? ?#以user驗證方式訪問

????????????passdb backend = tdbsam? ? ? ?#定義用戶后臺類型

????????????username map = /etc/samba/smbusers? ?  #添加這行配置,開啟samba虛擬用戶配置功能

????????????[root@centos7 samba]# vim /etc/samba/smbusers? ? #添加samba虛擬用戶

????????????# Unix_name = SMB_name1 SMB_name2 ...

????????????root = administrator admin

????????????nobody = guest? pcguest? smbguest

????????????test01 = user01? user02? user03?

????????????[root@centos7 samba]# systemctl restart smb.service? ? ? ?#重啟samba服務?

????????????測試:

????????????Windows系統操作:

????????????在win 7系統打開運行輸入 \\192.168.42.222訪問,輸入user01用戶,密碼是test01用戶密碼。

轉自:http://blog.51cto.com/lyz2014/2320042

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,702評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,143評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,553評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,620評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,416評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,940評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,024評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,170評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,709評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,597評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,784評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,291評論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,029評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,407評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,663評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,403評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,746評論 2 370

推薦閱讀更多精彩內容