Linux下samba的安裝與配置

2021-09-30 20:18:35 字數 4281 閱讀 1716

一、簡介

samba,是在unix上實現smb(server message block)的乙個工具套件。而smb通常是windows用來實現共享的,包括檔案和印表機等。而unix上裝上smb,則使得unix能夠和windows連線在一起,實現兩者的資源互通。

二、安裝

$rpm -qa | grep samba #檢視系統是否已安裝samba

$yum install samba #使用yum軟體包管理工具安裝samba

三、常用命令

1.service smb status #檢視smd服務的狀態

2.service smb start #執行smb服務

3.service smb stop #停止服務

4.service smb restart #重啟服務,但在實際中一般不採用

5.service smb reload #過載服務,在實際中較常用,不用停止服務

四、配置

4.1.基本配置

samba的主要配置檔案放在/etc/samba/smb.conf資料夾下。檔案可以分為兩大部分,第一部分是全域性配置,第二部分是區域性配置。下面是乙個配置檔案及相關注釋:

[global] #全域性配置,配置檔案以[segname]分段,除了global影響全部段之外,各段之間互不影響

workgroup = mygroup #samba的工作組

server string = samba server version %v #samba的說明資訊

netbios name =aric #簡單的說就是計算機名稱

log file = /var/log/samba/%m.log #日誌檔案存放位置

max log size = 10 #日誌檔案大小,以m為單位

security = share #安全選項,可以是share,user,server,domain安全級別遞增

encrypt passwords = yes #密碼是否加密

smb passwd file = /etc/samba/smbpasswd #密碼檔案存放位置

username map = /etc/samba/smbusers #使用者檔案存放位置

[share] #區域性配置,裡面是段名,也就是我們的共享名

comment = this is my shared folder. #該共享的說明

path = /home/share #共享路徑

writeable = yes #共享資料夾是否可寫

browseable = yes #是否可瀏覽

guest ok = yes #跟public一樣,是否允許guest使用者

create mode =0664 #建立檔案許可權定製

directory mode=0775 #建立資料夾許可權

valid users=允許訪問該共享的使用者

invalid usrs=禁止訪問的使用者,root,@group,@表示組

admin users=該共享的管理者

write list=有寫許可權的使用者

display charset=utf-8

unix charset=utf-8

dos charset=utf-8 #這三個是避免亂碼的,dispaly是顯示目錄時的編碼,另外兩個跟名字對應。若dos下為zh_cn.gb2312.gbk。則3個全部設為cp936

4.2 配置檔案中的詳細解釋

4.2.1 samba的安全級別

linux下samba有四種安全級別,即share、user、server、domain,它們的安全級別由低到高,在配置檔案中具體由security引數指定。其中,share級是指使用者不需要賬戶和口令即可登入伺服器;user級是samba伺服器預設的安全級別,是指伺服器負責檢查登陸者的賬戶和口令;server級是指賬戶和口令的檢查由另外的samba或windows伺服器負責;domain級是指由一台windows nt/2000域伺服器負責檢查賬戶和口令。使用者在配置samba伺服器時,可以根據所需要的不同安全等級來具體配置

4.2.2 samba的密碼存放方式

passdb backend = tdbsam | passdb | smbpasswd

backend即使用者後台。有三種後台:smbpasswd、tdbsam和ldapsam。sam即security account manager。

(1).smbpasswd:該方式是使用smb工具smbpasswd給系統使用者(真實使用者或者虛擬使用者)設定乙個samba 密碼,客戶端就用此密碼訪問samba資源。也就是說用這種方法建立的永和可以是虛擬的,也就是linux系統中不存在該使用者也可以。smbpasswd存放在/etc/samba中,有時需要手工建立該檔案。

(2).tdbsam:使用資料庫檔案建立使用者資料庫。資料庫檔案叫passdb.tdb,在/etc/samba中。passdb.tdb使用者資料庫可使用smbpasswd –a建立samba使用者,要建立的samba使用者必須先是系統使用者。也可使用pdbedit建立samba賬戶。pdbedit引數很多,列出幾個主要的:

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使用者賬號。

一般叫常用的用法是:

$useradd user1

$smbpasswd -a user1 #這裡可以改為pdbedit -a user1

$輸入user1的共享密碼

$確認user1的共享密碼

(3).ldapsam:基於ldap賬戶管理方式驗證使用者。首先要建立ldap服務,設定「passdb backend = ldapsam:ldap://ldap server」這個我也不太清楚,就不說了。

4.3.使用者對映

由於我們在建立samba使用者時必須和系統使用者同名,這就意味著不安全(當然某些人很樂意看到這樣),但是,samba已經解決了這個問題,提供了使用者對映,這個檔案在/etc/samba/smbusers,

root=administrator

nobody=guest pcguest

test=prefer you

這樣就ok了,錢兩行是為了方便windows使用者使用,最後一行則是遮蓋使用者資訊,也就是為了安全。

4.4. 常用的共享

[homes]共享缺省會將使用者的主目錄共享,這是不安全的,所以我們要將其注釋,當然還有[netlogon]

五、常見問題

5.1.提示沒有許可權訪問

前提是我們將security=share,即不要求賬號密碼,這樣還是不能訪問,總是說沒有許可權訪問。這有以下幾種原因:

5.1.1 防火牆的問題

samba使用的埠在防火牆裡沒有新增例外,導致samba服務不能夠使用,解決方法可以是

$iptables -f #清除防火牆的規則

也可以通過setup,將samba使用的埠新增例外,最好用第二中方法,畢竟防火牆還要保證系統的安全。

(2)selinux的問題

這是系統本身的原因,我們安裝系統的時候安裝了selinux,而selinux禁止網路上其他計算機對samba上的共享目錄進行寫操作,即使在smb.conf中允許了這項操作,解決方法是:

$setenforce 0

我在這上面可吃了不少苦頭。

(3)共享資料夾許可權的問題

我們共享的路徑本身許可權不正確,就是說我們在smb.conf分配的許可權是可讀可寫,但是在linux檔案系統下,該共享資料夾卻是唯讀的,所以就出現了問題,我們一般講共享的資料夾在linux下降許可權全部開放。

$chmod 777 /share

5.2.提示使用者名稱或則密碼不正確

當我們將安全級別為user時,就需要輸入使用者名稱和密碼,但是使用者名稱密碼都是正確的,但是總是提示錯誤。這是因為我們在windos下輸入使用者名稱時,預設是在windows域中,二我們的賬戶是在linux建立的,所以是不對的,只要將我們linux主機的網域名稱載入前面就行了。比如linux下面的user2,我們直接輸入user2可能就不對,我們必須將我們linux主機的名字加在前面,如

hostname/user2

5.3.nt_status_wrong_password

當我們在linux使用

$smbclient

a thousand journey is started by taking the first step.

Linux下samba的安裝與配置

文章中提到的smaba安裝程式 samba 3.0.20b 1.i386.rpm iso 另外請參看鳥哥的私房菜對samba的介紹 1首先,在vmware內把samba安裝檔案的映象檔案對映為光碟機,如圖1 1步驟1 2 3。圖1 1 2然後,使用命令mount dev cdrom mnt cdro...

Linux下安裝Samba共享檔案

一 簡介 samba服務功能強大,這與通訊是基於smb協議有大的有關係。smb協議不僅能夠提供目錄和共享印表機,還支援認證和許可權設定等功能。在早期。smb執行於nbt協議上,使用udp協議的137 138及tcp協議的139埠,但隨著後期開發,它可以直接執行於tcp ip協議上,沒有額外的nbt層...

Linux下Samba伺服器的安裝與配置

環境 redhat linux 9 virtualbox 4.1 b.查詢linux系統裡是否安裝了samba伺服器 rpm q samba c.如有,就解除安裝 rpm e samba 如果不能解除安裝執行以下命令 rpm e nodepssamba d.把自己的安裝檔案,掛載到linux下 可使...