溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux中如何安裝共享服務(wù)Samba

發(fā)布時(shí)間:2022-02-17 09:59:02 來源:億速云 閱讀:138 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下Linux中如何安裝共享服務(wù)Samba,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Samba,是種自由軟件,用來讓UNIX系列的操作系統(tǒng)與微軟Windows操作系統(tǒng)的SMB/CIFS(Server Message Block/Common Internet File System)網(wǎng)絡(luò)協(xié)定做連結(jié)。

Linux中如何安裝共享服務(wù)Samba

samba怎么安裝

我用的系統(tǒng)是CentOS,安裝軟件一般使用yum(全稱為 Yellow dog Updater, Modified)包管理器,yum基于RPM包管理,能夠從指定的服務(wù)器自動(dòng)下載RPM包并且安裝,可以自動(dòng)處理依賴性關(guān)系,并且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。

  • 切換到root執(zhí)行安裝命令
[root@localhost]#yum install samba -y1

說明:-y的意思是,在安裝過程中的所有提問都填“yes” *擴(kuò)展:yum的其他命令

[root@localhost]#yum list samba            //列出軟件包的信息[root@localhost]#yum remove samba          //卸載軟件包[root@localhost]#yum check-update samba    //檢查是否有可更新的軟件包[root@localhost]#yum update samba          //更新samba軟件包1234

samba怎么配置

  • 申請(qǐng)一個(gè)新的賬號(hào)(當(dāng)然也可以不用申請(qǐng),使用默認(rèn)的也可以)例如heijunma
[root@localhost william]# useradd heijunma[root@localhost william]# passwd heijunma12

Linux中如何安裝共享服務(wù)Samba當(dāng)需要?jiǎng)h除一個(gè)賬戶時(shí)可以按如下方式執(zhí)行,注意加 -r才能刪除徹底,不加-r僅能刪除 /etc/passwd 、/etc/group、/etc/shadow、/etc/gshadow四個(gè)文件內(nèi)的賬戶信息,但是/home/下的主目錄信息不能刪除,-r才能徹底刪除。

[root@localhost william]# userdel -r heijunma1
  • 配置samba的配置文件,用vim 打開smb.conf
[root@localhost heijunma]# vim /etc/samba/smb.conf1

smb.conf的配置項(xiàng)說明如下:

Samba的主配置文件為/etc/samba/smb.conf

主配置文件由兩部分構(gòu)成

   Global Settings (55-245行)

  該設(shè)置都是與Samba服務(wù)整體運(yùn)行環(huán)境有關(guān)的選項(xiàng),它的設(shè)置項(xiàng)目是針對(duì)所有共享資源的。

   Share Definitions (246-尾行)

  該設(shè)置針對(duì)的是共享目錄個(gè)別的設(shè)置,只對(duì)當(dāng)前的共享資源起作用。

全局參數(shù):#==================Global Settings ===================[global]

config file = /usr/local/samba/lib/smb.conf.%m
說明:config file可以讓你使用另一個(gè)配置文件來覆蓋缺省的配置文件。如果文件不存在,則該項(xiàng)無效。這個(gè)參數(shù)很有用,可以使得samba配置更靈活,可以讓一臺(tái) samba服務(wù)器模擬多臺(tái)不同配置的服務(wù)器。比如,你想讓PC1(主機(jī)名)這臺(tái)電腦在訪問Samba Server時(shí)使用它自己的配置文件,那么先在/etc/samba/host/下為PC1配置一個(gè)名為smb.conf.pc1的文件,然后在 smb.conf中加入:config file = /etc/samba/host/smb.conf.%m。這樣當(dāng)PC1請(qǐng)求連接Samba Server時(shí),smb.conf.%m就被替換成smb.conf.pc1。這樣,對(duì)于PC1來說,它所使用的Samba服務(wù)就是由 smb.conf.pc1定義的,而其他機(jī)器訪問Samba Server則還是應(yīng)用smb.conf。

workgroup = WORKGROUP
說明:設(shè)定 Samba Server 所要加入的工作組或者域。

server string = Samba Server Version %v
說明:設(shè)定 Samba Server 的注釋,可以是任何字符串,也可以不填。宏%v表示顯示Samba的版本號(hào)。

netbios name = smbserver
說明:設(shè)置Samba Server的NetBIOS名稱。如果不填,則默認(rèn)會(huì)使用該服務(wù)器的DNS名稱的第一部分。netbios name和workgroup名字不要設(shè)置成一樣了。

interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
說明:設(shè)置Samba Server監(jiān)聽哪些網(wǎng)卡,可以寫網(wǎng)卡名,也可以寫該網(wǎng)卡的IP地址。

hosts allow = 127. 192.168.1. 192.168.10.1
說明:表示允許連接到Samba Server的客戶端,多個(gè)參數(shù)以空格隔開??梢杂靡粋€(gè)IP表示,也可以用一個(gè)網(wǎng)段表示。hosts deny 與hosts allow 剛好相反。
例如:hosts allow=172.17.2.EXCEPT172.17.2.50
表示容許來自172.17.2.*的主機(jī)連接,但排除172.17.2.50
hosts allow=172.17.2.0/255.255.0.0
表示容許來自172.17.2.0/255.255.0.0子網(wǎng)中的所有主機(jī)連接
hosts allow=M1,M2
表示容許來自M1和M2兩臺(tái)計(jì)算機(jī)連接
hosts allow=@pega
表示容許來自pega網(wǎng)域的所有計(jì)算機(jī)連接

max connections = 0
說明:max connections用來指定連接Samba Server的最大連接數(shù)目。如果超出連接數(shù)目,則新的連接請(qǐng)求將被拒絕。0表示不限制。

deadtime = 0
說明:deadtime用來設(shè)置斷掉一個(gè)沒有打開任何文件的連接的時(shí)間。單位是分鐘,0代表Samba Server不自動(dòng)切斷任何連接。

time server = yes/no
說明:time server用來設(shè)置讓nmdb成為windows客戶端的時(shí)間服務(wù)器。log file = /var/log/samba/log.%m
說明:設(shè)置Samba Server日志文件的存儲(chǔ)位置以及日志文件名稱。在文件名后加個(gè)宏%m(主機(jī)名),表示對(duì)每臺(tái)訪問Samba Server的機(jī)器都單獨(dú)記錄一個(gè)日志文件。如果pc1、pc2訪問過Samba Server,就會(huì)在/var/log/samba目錄下留下log.pc1和log.pc2兩個(gè)日志文件。

max log size = 50
說明:設(shè)置Samba Server日志文件的最大容量,單位為kB,0代表不限制。

security = user
說明:設(shè)置用戶訪問Samba Server的驗(yàn)證方式,一共有四種驗(yàn)證方式。
1. share:用戶訪問Samba Server不需要提供用戶名和口令, 安全性能較低。
2. user:Samba Server共享目錄只能被授權(quán)的用戶訪問,由Samba Server負(fù)責(zé)檢查賬號(hào)和密碼的正確性。賬號(hào)和密碼要在本Samba Server中建立。
3. server:依靠其他Windows NT/2000或Samba Server來驗(yàn)證用戶的賬號(hào)和密碼,是一種代理驗(yàn)證。此種安全模式下,系統(tǒng)管理員可以把所有的Windows用戶和口令集中到一個(gè)NT系統(tǒng)上,使用 Windows NT進(jìn)行Samba認(rèn)證, 遠(yuǎn)程服務(wù)器可以自動(dòng)認(rèn)證全部用戶和口令,如果認(rèn)證失敗,Samba將使用用戶級(jí)安全模式作為替代的方式。
4. domain:域安全級(jí)別,使用主域控制器(PDC)來完成認(rèn)證。

passdb backend = tdbsam
說明:passdb backend就是用戶后臺(tái)的意思。目前有三種后臺(tái):smbpasswd、tdbsam和ldapsam。sam應(yīng)該是security account manager(安全賬戶管理)的簡(jiǎn)寫。
1.smbpasswd:該方式是使用smb自己的工具smbpasswd來給系統(tǒng)用戶(真實(shí)用戶或者虛擬用戶)設(shè)置一個(gè)Samba密碼,客戶端就用這個(gè)密碼來訪問Samba的資源。smbpasswd文件默認(rèn)在/etc/samba目錄下,不過有時(shí)候要手工建立該文件。
2.tdbsam: 該方式則是使用一個(gè)數(shù)據(jù)庫(kù)文件來建立用戶數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)文件叫passdb.tdb,默認(rèn)在/etc/samba目錄下。passdb.tdb用戶數(shù)據(jù)庫(kù) 可以使用smbpasswd –a來建立Samba用戶,不過要建立的Samba用戶必須先是系統(tǒng)用戶。我們也可以使用pdbedit命令來建立Samba賬戶。pdbedit命令的 參數(shù)很多,我們列出幾個(gè)主要的。
  pdbedit –a username:新建Samba賬戶。
  pdbedit –x username:刪除Samba賬戶。
  pdbedit –L:列出Samba用戶列表,讀取passdb.tdb數(shù)據(jù)庫(kù)文件。
  pdbedit –Lv:列出Samba用戶列表的詳細(xì)信息。
  pdbedit –c “[D]” –u username:暫停該Samba用戶的賬號(hào)。
  pdbedit –c “[]” –u username:恢復(fù)該Samba用戶的賬號(hào)。
3.ldapsam:該方式則是基于LDAP的賬戶管理方式來驗(yàn)證用戶。首先要建立LDAP服務(wù),然后設(shè)置“passdb backend = ldapsam:ldap://LDAP Server”

encrypt passwords = yes/no
說明:是否將認(rèn)證密碼加密。因?yàn)楝F(xiàn)在windows操作系統(tǒng)都是使用加密密碼,所以一般要開啟此項(xiàng)。不過配置文件默認(rèn)已開啟。

smb passwd file = /etc/samba/smbpasswd
說明:用來定義samba用戶的密碼文件。smbpasswd文件如果沒有那就要手工新建。

username map = /etc/samba/smbusers
說明:用來定義用戶名映射,比如可以將root換成administrator、admin等。不過要事先在smbusers文件中定義好。比如:root = administrator admin,這樣就可以用administrator或admin這兩個(gè)用戶來代替root登陸Samba Server,更貼近windows用戶的習(xí)慣。

guest account = nobody
說明:用來設(shè)置guest用戶名。

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
說明:用來設(shè)置服務(wù)器和客戶端之間會(huì)話的Socket選項(xiàng),可以優(yōu)化傳輸速度。

domain master = yes/no
說明:設(shè)置Samba服務(wù)器是否要成為網(wǎng)域主瀏覽器,網(wǎng)域主瀏覽器可以管理跨子網(wǎng)域的瀏覽服務(wù)。local master = yes/no
說明:local master用來指定Samba Server是否試圖成為本地網(wǎng)域主瀏覽器。如果設(shè)為no,則永遠(yuǎn)不會(huì)成為本地網(wǎng)域主瀏覽器。但是即使設(shè)置為yes,也不等于該Samba Server就能成為主瀏覽器,還需要參加選舉。

preferred master = yes/no
說明:設(shè)置Samba Server一開機(jī)就強(qiáng)迫進(jìn)行主瀏覽器選舉,可以提高Samba Server成為本地網(wǎng)域主瀏覽器的機(jī)會(huì)。如果該參數(shù)指定為yes時(shí),最好把domain master也指定為yes。使用該參數(shù)時(shí)要注意:如果在本Samba Server所在的子網(wǎng)有其他的機(jī)器(不論是windows NT還是其他Samba Server)也指定為首要主瀏覽器時(shí),那么這些機(jī)器將會(huì)因?yàn)闋?zhēng)奪主瀏覽器而在網(wǎng)絡(luò)上大發(fā)廣播,影響網(wǎng)絡(luò)性能。
如果同一個(gè)區(qū)域內(nèi)有多臺(tái)Samba Server,將上面三個(gè)參數(shù)設(shè)定在一臺(tái)即可。

os level = 200
說明:設(shè)置samba服務(wù)器的os level。該參數(shù)決定Samba Server是否有機(jī)會(huì)成為本地網(wǎng)域的主瀏覽器。os level從0到255,winNT的os level是32,win95/98的os level是1。Windows 2000的os level是64。如果設(shè)置為0,則意味著Samba Server將失去瀏覽選擇。如果想讓Samba Server成為PDC,那么將它的os level值設(shè)大些。

domain logons = yes/no
說明:設(shè)置Samba Server是否要做為本地域控制器。主域控制器和備份域控制器都需要開啟此項(xiàng)。

logon script = %u.bat
說明:當(dāng)使用者用windows客戶端登陸,那么Samba將提供一個(gè)登陸檔。如果設(shè)置成%u.bat,那么就要為每個(gè)用戶提供一個(gè)登陸檔。如果人比較多, 那就比較麻煩??梢栽O(shè)置成一個(gè)具體的文件名,比如start.bat,那么用戶登陸后都會(huì)去執(zhí)行start.bat,而不用為每個(gè)用戶設(shè)定一個(gè)登陸檔了。 這個(gè)文件要放置在[netlogon]的path設(shè)置的目錄路徑下。

wins support = yes/no
說明:設(shè)置samba服務(wù)器是否提供wins服務(wù)。

wins server = wins服務(wù)器IP地址
說明:設(shè)置Samba Server是否使用別的wins服務(wù)器提供wins服務(wù)。

wins proxy = yes/no
說明:設(shè)置Samba Server是否開啟wins代理服務(wù)。

dns proxy = yes/no
說明:設(shè)置Samba Server是否開啟dns代理服務(wù)。

load printers = yes/no
說明:設(shè)置是否在啟動(dòng)Samba時(shí)就共享打印機(jī)。

printcap name = cups
說明:設(shè)置共享打印機(jī)的配置文件。

printing = cups
說明:設(shè)置Samba共享打印機(jī)的類型?,F(xiàn)在支持的打印系統(tǒng)有:bsd, sysv, plp, lprng, aix, hpux, qnx

共享參數(shù):#================== Share Definitions ==================[共享名]

comment = 任意字符串
說明:comment是對(duì)該共享的描述,可以是任意字符串。

path = 共享目錄路徑
說 明:path用來指定共享目錄的路徑??梢杂?u、%m這樣的宏來代替路徑里的unix用戶和客戶機(jī)的Netbios名,用宏表示主要用于[homes] 共享域。例如:如果我們不打算用home段做為客戶的共享,而是在/home/share/下為每個(gè)Linux用戶以他的用戶名建個(gè)目錄,作為他的共享目 錄,這樣path就可以寫成:path = /home/share/%u; 。用戶在連接到這共享時(shí)具體的路徑會(huì)被他的用戶名代替,要注意這個(gè)用戶名路徑一定要存在,否則,客戶機(jī)在訪問時(shí)會(huì)找不到網(wǎng)絡(luò)路徑。同樣,如果我們不是以用 戶來劃分目錄,而是以客戶機(jī)來劃分目錄,為網(wǎng)絡(luò)上每臺(tái)可以訪問samba的機(jī)器都各自建個(gè)以它的netbios名的路徑,作為不同機(jī)器的共享資源,就可以 這樣寫:path = /home/share/%m 。

browseable = yes/no
說明:browseable用來指定該共享是否可以瀏覽。

writable = yes/no
說明:writable用來指定該共享路徑是否可寫。

available = yes/no
說明:available用來指定該共享資源是否可用。

admin users = 該共享的管理者
說明:admin users用來指定該共享的管理員(對(duì)該共享具有完全控制權(quán)限)。在samba 3.0中,如果用戶驗(yàn)證方式設(shè)置成“security=share”時(shí),此項(xiàng)無效。
例如:admin users =david,sandy(多個(gè)用戶中間用逗號(hào)隔開)。

valid users = 允許訪問該共享的用戶
說明:valid users用來指定允許訪問該共享資源的用戶。
例如:valid users = david,@dave,@tech(多個(gè)用戶或者組中間用逗號(hào)隔開,如果要加入一個(gè)組就用“@組名”表示。)

invalid users = 禁止訪問該共享的用戶
說明:invalid users用來指定不允許訪問該共享資源的用戶。
例如:invalid users = root,@bob(多個(gè)用戶或者組中間用逗號(hào)隔開。)

write list = 允許寫入該共享的用戶
說明:write list用來指定可以在該共享下寫入文件的用戶。
例如:write list = david,@dave

public = yes/no
說明:public用來指定該共享是否允許guest賬戶訪問。

guest ok = yes/no
說明:意義同“public”。

幾個(gè)特殊共享:
[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S
; valid users = MYDOMAIN\%S

[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes

[netlogon]
comment = Network Logon Service
path = /var/lib/samba/netlogon
guest ok = yes
writable = no
share modes = no

[Profiles]
path = /var/lib/samba/profiles
browseable = no
guest ok = yes

Samba安裝好后,使用testparm命令可以測(cè)試smb.conf配置是否正確。使用testparm –v命令可以詳細(xì)的列出smb.conf支持的配置參數(shù)。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203

配置新創(chuàng)建的用戶

打開smb.cnf 增加一個(gè)共享項(xiàng)

[heijunma]
       comment = heijunma guest share  #共享描述       path = /home/heijunma       #共享目錄       public = yes                #允許guest用戶訪問       writable = yes              #允許在heijunma目錄下寫入       directory mask = 0775       #默認(rèn)創(chuàng)建目錄權(quán)限 rwxrwxr_x       create mask = 0775          #默認(rèn)創(chuàng)建文件權(quán)限 rwxrwxr_x       valid users = heijunma,root  #允許訪問該共享的用戶       write list = heijunma,root  #可寫入共享的用戶列表       browseable = yes             #該指定共享目錄可瀏覽       available = yes              #該指定共享資源可使用1234567891011

編輯好之后保存,然后運(yùn)行如下命令重新加載smb.conf,并重啟samba

[root@localhost heijunma]#service smb reloadReloading smb.conf file:                                   [  OK  ]12
[root@localhost heijunma]#service smb restartShutting down SMB services:                                [  OK  ]
Starting SMB services:                                     [  OK  ]123
[root@localhost heijunma]#service nmb restartShutting down NMB services:                                [  OK  ]
Starting NMB services:                                     [  OK  ]123

接著關(guān)閉防火墻SElinux,這種關(guān)閉重啟Linux后又會(huì)開啟

[root@localhost heijunma]#service iptables stop[root@localhost heijunma]#setenforce 012

這些弄好之后在win7端映射網(wǎng)絡(luò)驅(qū)動(dòng) 

Linux中如何安裝共享服務(wù)Samba

但是輸入Linux端heijunma的賬戶密碼卻登陸失敗 

Linux中如何安裝共享服務(wù)Samba

原因是因?yàn)長(zhǎng)inux的用戶密碼和samba的用戶密碼并不是一碼子事,只是samba的用戶必須是Linux的用戶,因此需要將heijunma這個(gè)賬戶添加到samba的用戶數(shù)據(jù)庫(kù),執(zhí)行如下命令:

[root@localhost heijunma]#smbpasswd -a heijunmaNew SMB password:
Retype new SMB password:
Added user heijunma.1234

設(shè)置heijunma在samba中的密碼后,即可添加heijunma賬戶到samba成功, 此時(shí)重新映射網(wǎng)絡(luò)硬盤即可成功(注意:輸入samba的密碼登陸): 

Linux中如何安裝共享服務(wù)Samba

嘗試在里面新建文件和文件夾,確認(rèn)是否有權(quán)限,結(jié)果新建成功 

Linux中如何安裝共享服務(wù)Samba

再在Linux端查看新建文件及文件夾: 

Linux中如何安裝共享服務(wù)Samba

但是我們發(fā)現(xiàn)文件夾的權(quán)限是 rwxrwxr_x(775),文件的權(quán)限是rwxrw_r__(764)跟我們?cè)O(shè)定的文件夾和文件都是775不一樣???其實(shí)這是因?yàn)樾掳娴膕amba一定要在[global]后面追加文件及文件夾,放在smb.conf最后是無效的我們可以試著改一下,在[global]下面添加文件和文件夾權(quán)限 

Linux中如何安裝共享服務(wù)Samba

 然后執(zhí)行:

[root@localhost heijunma]# service smb reload1

這樣在共享目錄新建文件和文件夾的權(quán)限就都是 775了 

Linux中如何安裝共享服務(wù)Samba

如此就完成了samba的基本配置,可以開始下一步的學(xué)習(xí)了!

以上是“Linux中如何安裝共享服務(wù)Samba”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI