當前位置:首頁 » 雲伺服器 » 如何搭建samba伺服器

如何搭建samba伺服器

發布時間: 2023-02-28 21:16:33

① win7系統如何配置samba伺服器

具體方法如下:
一般你裝系統的時候會默認安裝samba,如果沒有安裝,只需要運行這個命令安裝(CentOS):
「yum install -y samba samba-client」
Samba的配置文件為/etc/samba/smb.conf,通過修改這個配置文件來完成我們的各種需求。打開這個配置文件,你會發現很多內容都用」#」或者」;」注視掉了。先看一下未被注釋掉的部分:
[global]
workgroup = MYGROUP
server string = Samba Server Version %v
security = user
passdb backend = tdbsam
load printers = yes
cups options = raw
[homes]
comment = Home Directories
browseable = no
writable = yes
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
主要有以上三個部分:[global], [homes], [printers]。
[global]定義全局的配置,」workgroup」用來定義工作組,相信如果你安裝過windows的系統,你會對這個workgroup不陌生。一般情況下,需要我們把這里的」MYGROUP」改成」WORKGROUP」(windows默認的工作組名字)。
security = user #這里指定samba的安全等級。關於安全等級有四種:
share:用戶不需要賬戶及密碼即可登錄samba伺服器
user:由提供服務的samba伺服器負責檢查賬戶及密碼(默認)
server:檢查賬戶及密碼的工作由另一台windows或samba伺服器負責
domain:指定windows域控制伺服器來驗證用戶的賬戶及密碼。
passdb backend = tdbsam # passdb backend (用戶後台),samba有三種用戶後台:smbpasswd, tdbsam和ldapsam.
smbpasswd:該方式是使用smb工具smbpasswd給系統用戶(真實用戶或者虛擬用戶)設置一個Samba 密碼,客戶端就用此密碼訪問Samba資源。smbpasswd在/etc/samba中,有時需要手工創建該文件。
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用戶賬號。
ldapsam:基於LDAP賬戶管理方式驗證用戶。首先要建立LDAP服務,設置「passdb backend = ldapsam:ldap://LDAP Server」
load printers 和 cups options 兩個參數用來設置列印機相關。
除了這些參數外,還有幾個參數需要你了解:
netbios name = MYSERVER # 設置出現在「網上鄰居」中的主機名
hosts allow = 127. 192.168.12. 192.168.13. # 用來設置允許的主機,如果在前面加」;」則表示允許所有主機
log file = /var/log/samba/%m.log #定義samba的日誌,這里的%m是上面的netbios name
max log size = 50 # 指定日誌的最大容量,單位是K
[homes]該部分內容共享用戶自己的家目錄,也就是說,當用戶登錄到samba伺服器上時實際上是進入到了該用戶的家目錄,用戶登陸後,共享名不是homes而是用戶自己的標識符,對於單純的文件共享的環境來說,這部分可以注視掉。
[printers]該部分內容設置列印機共享。
【samba實踐】
注意:在試驗之前,請先檢測selinux是否關閉,否則可能會試驗不成功。關於如何關閉selinux請查看第十五章 linux系統日常管理的「linux的防火牆」部分
1. 共享一個目錄,任何人都可以訪問,即不用輸入密碼即可訪問,要求只讀。
打開samba的配置文件/etc/samba/smb.conf
[global]部分
把」MY GROUP」改成」WORKGROUP」
把」security = user」 修改為「security = share」
然後在文件的最末尾處加入以下內容:
[share]
comment = share all
path = /tmp/samba
browseable = yes
public = yes
writable = no
mkdir /tmp/samba
chmod 777 /tmp/samba
啟動samba服務
/etc/init.d/smb start
測試:
首先測試你配置的smb.conf是否正確,用下面的命令
testparm
如果沒有錯誤,則在你的windows機器上的瀏覽器中輸入file://IP/share 看是否能訪問
2. 共享一個目錄,使用用戶名和密碼登錄後才可以訪問,要求可以讀寫
打開samba的配置文件/etc/samba/smb.conf
[global] 部分內容如下:
[global]
workgroup = WORKGROUP
server string = Samba Server Version %v
security = user
passdb backend = tdbsam
load printers = yes
cups options = raw
然後加入以下內容:
[myshare]
comment = share for users
path = /samba
browseable = yes
writable = yes
public = no
保存配置文件,創建目錄:
mkdir /samba
chmod 777 /samba
然後添加用戶。因為在[globa]中」 passdb backend = tdbsam」,所以要使用」 pdbedit」 來增加用戶,注意添加的用戶必須在系統中存在。
useradd user1 user2
pdbedit -a user1 # 添加user1賬號,並定義其密碼
pdbedit -a user2
pdbedit -L # 列出所有的賬號
測試:
打開IE瀏覽器輸入file://IP/myshare/ 然後輸入用戶名和密碼
3. 使用linux訪問samba伺服器
Samba服務在linux下同樣可以訪問。前提是你的linux安裝了samba-client軟體包。安裝完後就可以使用smbclient命令了。
smbclient //IP/共享名 -U 用戶名
如:[root@localhost]# smbclient //10.0.4.67/myshare/ -U user1
Password:
Domain=[LOCALHOST] OS=[Unix] Server=[Samba 3.0.33-3.29.el5_6.2]
smb: \>
出現如上所示的界面。可以打一個」?」列出所有可以使用的命令。常用的有cd, ls, rm, pwd, tar, mkdir, chown, get, put等等,使用help + 命令可以列印該命令如何使用,其中get是下載,put是上傳
另外的方式就是通過mount掛載了:
如:
mount -t cifs //10.0.4.67/myshare /mnt -o username=user1,password=123456
格式就是這樣,要指定-t cifs //IP/共享名本地掛載點 -o後面跟username 和 password
掛載完後就可以像使用本地的目錄一樣使用共享的目錄了。

② 如何配置samba伺服器

1、安裝有關Samba的RPM包(samba、samba-common、samba-client)
2、創建Samba用戶
3、修改配置文件
4、重啟samba服務
5、設置目錄訪問許可權
6、測試
具體步驟如下:
1、安裝RPM包(預設情況下RHEL5安裝了samba的相關軟體包,可以用如下命令查看)
[root@localhost ~]#rpm -qa | grep samba

samba -----samba伺服器程序的所有文件
samba-common -----提供了Samba伺服器和客戶機中都必須使用的公共文件
samba-client -----提供了Samba客戶機的所有文件
samba-swat -----以Web界面的形式提供了對Samba伺服器的管理功能
2、創建samba用戶
[root@localhost ~]#smbpasswd -a user1 (「-a」是創建samba用戶,「-x」是刪 [root@localhost ~]#smbpasswd -a user2 除samba用戶,「-d」是禁用samba用
[root@localhost ~]#smbpasswd -a user3 戶帳號,「-e」是啟用samba用戶帳號)
3、修改配置文件
samba配置文件的位置:/etc/samba/smb.conf
[root@localhost ~]#vim /etc/samba/smb.conf
Vi大開配置文件後,首先介紹一下Samba伺服器的安全級別,如圖所示:系統默認設置「user」

Samba伺服器的安全級別分為5種,分別是user、share、server、domain和ads。在設置不同的級別時,samba伺服器還會使用口令伺服器和加密口令。
1、user -----客戶端訪問伺服器時需要輸入用戶名和密碼,通過驗證後,才能使用伺服器的共享資源。此級別使用加密的方式傳送密碼。
2、share -----客戶端連接伺服器時不需要輸入用戶名和密碼
3、server -----客戶端在訪問時同樣需要輸入用戶名和密碼,但是,密碼驗證需要密碼驗證伺服器來負責。
4、domain -----採用域控制器對用戶進行身份驗證
5、ads -----若samba伺服器加入到Windows活動目錄中,則使用ads安全級別,ads安全級別也必須指定口令伺服器
共享目錄的配置

[homes] -----samba用戶的宿主目錄
comment = Home Directories -----設置共享的說明信息
browseable = no -----目錄瀏覽許可權
writable = yes -----用戶對共享目錄可寫
這個共享目錄只有用戶本身可以使用,默認情況下,用戶主目錄位於/home目錄下,每個Linux用戶有一個以用戶名命名的子目錄。
以下是共享列印機的設置:
[printers] -----共享列印機
comment = All Printers -----設置共享的說明信息
path = /var/spool/samba -----指定共享目錄的路徑
browseable = no -----目錄瀏覽許可權
guest ok = no -----允許來賓訪問
writable = no -----用戶對共享目錄可寫
printable = yes -----可以列印
以上是系統默認設置
添加自定義的共享目錄:( user1對/ASUS有所有權,user2擁有隻讀許可權,其他用戶不能訪問;public共享目錄允許所有用戶訪問及上傳文件)
[ASUS]
comment = user1 Directories -----設置共享的說明信息
browseable = yes -----所有samba用戶都可以看到該目錄
writable = yes -----用戶對共享目錄可寫
path = /ASUS -----指定共享目錄的路徑
[public]
comment = all user Directories -----設置共享的說明信息
browseable = yes -----所有samba用戶都可以看到該目錄
writable = yes -----用戶對共享目錄可寫
path = /public -----指定共享目錄的路徑
guest ok = yes -----允許來賓訪問
4、修改完配置文件後需要重啟samba服務
[root@localhost ~]#service smb restart
Samba伺服器包括兩個服務程序
2 smbd
? smbd服務程序為客戶機提供了伺服器中共享資源的訪問
2 nmbd
? nmbd服務程序提供了NetBIOS主機名稱的解析,為Windows網路中域或者工作組內的主機進行主機名稱的解析
5、設置目錄許可權
[root@localhost ~]#mkdir /ASUS ------創建要共享目錄
[root@localhost ~]#mkdir /public ------創建要共享的目錄
[root@localhost ~]#chmod 750 /ASUS ------修改/ASUS許可權(屬主擁有
所有權,屬組只讀,其它用戶不能訪問)
[root@localhost ~]#chown user1 /ASUS ------將/ASUS的屬主改為user1
[root@localhost ~]#groupadd ASUS ------添加ASUS組
[root@localhost ~]#usermod –G ASUS user1 ------將user1加入到ASUS組
[root@localhost ~]#usermod –G ASUS user2 ------將user2加入到ASUS組
[root@localhost ~]#chgrp ASUS /ASUS ------將/ASUS的屬組改為
ASUS
[root@localhost ~]#chmod 777 /public ------給所有用戶分配完全控制
許可權
配置完成後,還要檢查/etc/service文件中以「netbios」開頭的記錄,正確的文件
記錄如下所示,如果這些記錄前有#或沒有這些記錄,應手工添加,否則用戶無
法訪問Linux伺服器上的共享資源

6、測試
找一台內網windows客戶端,打開「網上鄰居 」,輸入samba伺服器的IP點擊
「搜索」

如圖所示:已經搜索到

雙擊打開,如圖所示:提示輸入用戶名和密碼,先來輸入user1的用戶名和密碼
作測試。

登錄成功,

打開user1的宿主目錄,此目錄user1是擁有所有許可權的,創建一個目錄測試一
下,如圖所示:可以創建

Public目錄是允許任何用戶上傳、下載及刪除文件,如圖所示

User1對ASUS目錄擁有完全控制許可權,所以user1可以在此目錄下作任何操作

切換另一個用戶測試,由於我們在同一台計算機上作測試,測試之前首先要清楚
計算機上的緩存,如圖所示:打開 「命令提示符模式」,「net use /del *」是清
除計算機上緩存

重新打開網上鄰居,找到Samba 伺服器的共享資源,以user2的身份登錄

以下幾幅圖片可以看到,user2對ASUS目錄擁有隻讀許可權,對public、user2目
錄擁有所有權

再切換一個用戶登錄,記得要清除緩存哦,輸入user3的用戶名及密碼

如圖所示:user3無法訪問ASUS目錄

User3隻對user3和public目錄擁有所有權

③ linux怎麼配置samba伺服器

1.samba伺服器目錄:
企業數據目錄:/companydata
公共目錄:/companydata/share
銷售部目錄:/companydata/sales
技術部:/companydata/tech
2.企業員工情況:
總經理:gm
銷售部:銷售部經理 redking、員工 sky、員工 jane
技術部:技術部經理 michael、員工 bill、員工 joy
3.搭建samba文件伺服器,建立公共共享目錄,允許所有人訪問,許可權為只讀,為銷售部和技術部分別建立單獨的目錄,只可以總經理和相應部門員工訪問,並且公司員工禁止訪問非本部門的共享目錄。

案例解析:
1.需求分析
對於建立公共目錄public欄位就可以實現匿名訪問,員工只能訪問本部門的共享目錄,禁止訪問非本部門的共享目錄,可以通過設置目錄共享欄位「browseable = no」及欄位「valid users」來實現其隱藏功能和相應的訪問許可權。這樣設置不能很好得解決同一目錄多種需求的許可權設置,所以需要建立獨立配置文件,為每個部門建立一個組後並為每個組建立配置文件來實現隔離用戶許可權會比較靈活。
2. 解決方案
1)建立各部門專用共享目錄
使用mkdir建立需求的共享目錄以便分門別類的存儲相應資料。
[root@RHEL ~]#mkdir /companydata
[root@RHEL ~]#mkdir /companydata/share
[root@RHEL ~]#mkdir /companydata/sales
[root@RHEL ~]#mkdir /companydata/tech
同時設置/companydata共享目錄的用戶許可權
[root@RHEL ~]#chmod –R 777 /companydata
2)添加samba伺服器描述及設置smbpasswd文件
默認/etc/samba/目錄下沒有smbpasswd文件,要先關閉samba的tdbsam驗證。
解決方法:在smb.conf文件中注釋掉passdb backend = tdbsam 一行,為了指定samba用戶的驗證我們加上這一條smb passwd file = /etc/samba/smbpasswd,然後保存退出。
3)添加用戶和組
先建立銷售部組sales,技術部組tech,然後使用useradd命令添加總經理帳號gm及各個員工的帳號並加入相應的用戶組。
[root@RHEL ~]#groupadd sales
[root@RHEL ~]#groupadd tech
[root@RHEL ~]#useradd gm
[root@RHEL ~]#useradd –g sales redking
[root@RHEL ~]#useradd –g sales sky
[root@RHEL ~]#useradd –g sales jane
[root@RHEL ~]#useradd –g tech michael
[root@RHEL ~]#useradd –g tech bill
[root@RHEL ~]#useradd –g tech joy
接著使用smbpasswd命令添加samba用戶:
[root@RHEL ~]#smbpasswd –a gm
New SMB password:
Retype new SMB password:
Added user gm.
[root@RHEL ~]#smbpasswd –a redking
New SMB password:
Retype new SMB password:
Added user reding.
[root@RHEL ~]#smbpasswd –a sky
New SMB password:
Retype new SMB password:
Added user syk.
[root@RHEL ~]#smbpasswd –a jane
New SMB password:
Retype new SMB password:
Added user jane.
[root@RHEL ~]#smbpasswd –a michael
New SMB password:
Retype new SMB password:
Added user michael.
[root@RHEL ~]#smbpasswd –a bill
New SMB password:
Retype new SMB password:
Added user bill.
[root@RHEL ~]#smbpasswd –a joy
New SMB password:
Retype new SMB password:
Added user joy.
4)配置smb.conf文件
(1)建立單獨配置文件
用戶配置文件使用用戶名命令,組配置文件使用組名命令。
[root@RHEL ~]#cp /etc/samba/smb.conf /etc/samba/gm.smb.conf
[root@RHEL ~]#cp /etc/samba/smb.conf /etc/samba/sales.smb.conf
[root@RHEL ~]#cp /etc/samba/smb.conf /etc/samba/tech.smb.conf
(2)設置主配置文件smb.conf
配置smb.conf主配置文件,在global節點中添加相應欄位,確保samba伺服器的主配置文件可以調用獨立的用戶配置文件和組配置文件。
include = /etc/samba/%U.smb.conf表示使samba伺服器載入/etc/samba目錄下格式為「用戶名.smb.conf」的配置文件。
include = /etc/samba/%G.smb.conf表示使samba伺服器載入/etc/samba目錄下格式為「組名.smb.conf」的配置文件。
設置共享目錄/companydata/share
添加如下內容:
[public]
comment=public data
path=/companydata/share
public=yes
5)設置總經理gm配置文件
[root@RHEL ~]#vim /etc/samba/gm.smb.conf
添加如下內容:
[sales]
comment=sales data
path=/companydata/sales
writable=yes
valid users=gm

[tech]
comment=tech data
path=/companydata/tech
writable=yes
valid users=gm
6)設置銷售部組sales配置文件
[root@RHEL ~]#vim /etc/samba/sales.smb.conf
添加如下內容:
[sales]
comment=sales data
path=/companydata/sales
writable=yes
valid users=@sales,gm
7)設置技術部組tech配置文件
[root@RHEL ~]#vim /etc/samba/tech.smb.conf
添加如下內容:
[tech]
comment=tech data
path=/companydata/tech
writable=yes
valid users=@tech,gm
8)開啟samba服務
[root@RHEL ~]#service smb start
9)測試
分別用所設置賬號進行測試。

④ 如何搭建samba伺服器

samba安裝和啟動

samba的源碼安裝採用最新版本samba-4.1.14,官網下載。安裝過程如下:

$ sudo mkdir /usr/local/samba-4.1.14
$ ./configure --prefix=/usr/local/samba-4.1.14
...
Checking for program xsltproc : not found
Checking for program python : /usr/bin/python
Checking for program python : /usr/bin/python
Checking for program python : /usr/bin/python
Checking for Python version >= 2.5.0 : ok 2.7.6
Checking for library python2.7 : not found
Checking for library python2.7 : yes
Checking for program python2.7-config : not found
Checking for program python-config-2.7 : not found
Checking
for custom code
: Could not find the python development headers
/home/anonymalias/Downloads/samba-4.1.14/wscript:100:
error: the configuration failed (see
'/home/anonymalias/Downloads/samba-4.1.14/bin/config.log')

上面錯誤的原因是samba必須依賴python,執行

$ sudo apt-get install python-dev

後面就是make && sudo make install,安裝ok後,安裝目錄結構如下:

/usr/local/samba-4.1.14$ ls
bin etc include lib private sbin share va

將源碼文件下默認的conf文件拷貝到安裝目錄下的etc目錄中

/usr/local/samba-4.1.14$ cp /home/anonymalias/Downloads/samba-4.1.14/examples/smb.conf.default etc/smb.conf

修改smb.conf中配置

global段添加如下欄位

[global]
...
netbios name = ubuntu

共享資源欄位採用默認配置

[homes]
comment = Home Directories
browseable = no
writable = yes

# NOTE: If you have a BSD-style print system there is no need to
# specifically define each indivial printer
[printers]
comment = All Printers
path = /usr/spool/samba
browseable = no
# Set public = yes to allow user 'guest account' to print
guest ok = no
writable = no
printable = yes

添加用戶名為Ubuntu的賬戶,

/usr/local/samba-4.1.14$ sudo bin/smbpasswd -a ubuntu
New SMB password:
Retype new SMB password:

samba伺服器的用戶是依賴於linux的用戶,只能添加linux中已存在的用戶,否則會出現如下錯誤:

/usr/local/samba-4.1.14$ sudo bin/smbpasswd -a user1
New SMB password:
Retype new SMB password:
Failed to add entry for user user1.

啟動samba 服務

/usr/local/samba-4.1.14$ sudo sbin/nmbd
/usr/local/samba-4.1.14$ sudo sbin/smbd

在Windwos文件管理器或直接win+R,輸入server ip,可以看到如下界面:

⑤ Linux實用工具-samba

Samba服務可以用於在linux主機之間共享文件,也可以在linux和windows之間共享文件。

給Windows客戶提供文件服務是通過samba實現的,而samba也是一套基於UNIX類系統、實現SMB/CIFS協議的軟體,作為UNIX的克隆,Linux也可以運行這套軟體。samba的文件服務功能效率很高,藉助Linux本身,可以實現用戶磁碟空間限制功能。本文基於Linux介紹Samba的配置和使用。

主要內容:

一、關於配置文件

二、關於配置和使用

三、其它

samba通過配置文件來進行各種控制,關於配置文件,下面給出一個大致的介紹。

samba的最重要配置文件就是"/etc/samba/smb.conf",它有三個重要的節:[global],[homes],[public]。一般來說本地的這個文件中都有對其內容的詳細注釋,這里列出一個完整的配置文件內容,並解釋如下。具體信息參見"man smb.conf"的輸出。

用於用戶映射的文件/etc/samba/smbuser內容大致如下:

亂碼情況:

為了防止共享時出現中文目錄亂碼的情況,可能需要為smb.conf的[global]段添加如下幾行:

這里,其中根據你的local,UTF-8 有可能需要改成 cp936。

這里介紹如何配置samba服務以及使用它,為便於查閱,先給出一個最簡的配置方式,後面會給出關於配置和使用相對具體的內容。 以下內容,都是在CentOS release 5.5 (Final)上面實踐的結果,並假定配置samba的機器ip地址是10.1.2.213。

這里,如果只是想要搭建一個可以工作的samba伺服器,那麼可以按照如下步驟配置:

這樣,我們可以看到機器上面已經安裝了samba,可以進行後面的配置了。如果你的機器上面沒有相應的軟體包,那麼需要使用"yum install samba.i386"之類的命令安裝,默認來說系統都將這個服務安裝了的。

編輯之後的文件內容如下:

這里需要注意,不要將mysamba目錄設置到 /home 下的某個子用戶目錄中,這樣會導致目錄無法通過其他的機器訪問到。

這樣,外部就可以訪問這個目錄了。注意首先在本地機器上將這個目錄的讀寫許可權打開,這樣外面才能訪問。

這樣剛才的配置可以生效。

在文件瀏覽器的位置欄輸入: smb://10.1.2.213

這樣,將看到一個目錄"public1"就是那個smb.conf中設置的"[public1]"組名,進入"public1"就可以看到內容了,內容實際就是伺服器上面的/home/mysamba路徑下面的內容。

在文件瀏覽器的位置欄輸入: \\10.1.2.213

這樣,將看到一個目錄"public1"就是那個smb.conf中設置的"[public1]"組名,進入"public1"就可以看到內容了,內容實際就是伺服器上面的/home/mysamba路徑下面的內容。

總之兩步,一個是修改"/etc/samba/smb.conf"設置共享目錄,一個是運行"/etc/init.d/smb restart"讓設置生效。

配置samba可以控制哪些目錄可以訪問,以及誰可以訪問,以什麼許可權訪問等等。我們可以使用圖形化的工具配置,方法是運行"#system-config-samba"命令或者通過菜單"系統-系統管理-Samba",方法很簡單就不多說了。還可以通過修改配置文件進行配置,這里重點介紹修改配置文件的方法,如下。

修改配置文件如下:

這里,workgroup表示工作組名;server string表示伺服器名(名稱自定);netbios name是對伺服器的描述;hosts allow填入順序訪問的ip段,用空格分開,如果不設置則使用[global]中的,如果[global]中也沒有,就表示允許任何ip訪問;security表示訪問許可權,訪問許可權由低到高有三種:share、user和server。其中share安全級別最低,user模式要求連接時輸入用戶名和口令。具體支持的欄位,以及每個欄位的含義在配置文件的注釋中都有詳細的說明,或者可以查看"man smb.conf"文檔說明。

以上配置可知,設置了個共享目錄:public1,public2,public3,且public3共享目錄只有quietheart和lv-k用戶可以訪問。

配置之後,重新啟動samba:

這樣剛才的配置可以生效。

這里,添加帳號和修改密碼都用這個smbpasswd命令。如果想要添加samba的網路訪問帳戶,首先必須保證系統中有相應的帳戶名稱,如果沒有則需要使用"#useradd quietheart"建立一個,否則使用這個smbpasswd添加用戶的時候,會出錯誤。 要注意,雖然samba的用戶必須是本地機器的用戶,但是samba的登錄密碼可以和本機登錄密碼可以不一樣,上面只是為系統增加了quietheart這個用戶,卻沒有給用戶賦予本機登錄密碼,因為我們只用這個用戶來遠程samba訪問,不想用它來做為一個本地登陸帳號,所以這個用戶將只能從遠程經過samba訪問,不能從遠程登錄本機。

這個功能沒太大必要,因為samba中的帳戶,一定就是系統中的某個帳戶,雖然密碼不一樣,所以可以查看/etc/passwd來得知所有系統帳號進而知道samba可能包含的用戶帳號。

這里,刪除命令就是將前面添加命令的-a改成-x了。

通過smbclient工具,可以實現在命令行下訪問samba的目的,使用smbclient登陸samba之後,可以像ftp服務那樣進行各種命令操作。

參考資料:

⑥ Linux下如何搭建SAMBA伺服器

1、相關的文件
samba-common samba伺服器的主文件
samba 伺服器端的軟體
samba-client 客戶端的軟體
redhat-config-samba 圖形界面的配置文件
samba-swat web配置工具
2、步驟
1)安裝SAMBA伺服器
(1)檢測是否安裝samba
#rpm -qa | grep samba
(2)安裝:將第一張光碟放入光碟機
#mount /mnt/cdrom
#cd /mnt/cdrom/RedHat/RPMS
#ls samba*.*
#rpm -ivh samba-common-2.2.7a-7.9.0.i386.rpm
#rpm -ivh samba-2.2.7a-7.9.0.i386.rpm
#rpm -ivh samba-client-2.2.7a-7.9.0.i386.rpm
#cd /
#umount /mnt/cdrom
#eject
2)設置samba的密碼文件
(1)成批用戶密碼文件的生成
#cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
(2)刪除一些無用的shell帳戶
#vi /etc/samba/smbpasswd
從1到9。
(3)設置目錄和文件的許可權
#chown root.root /etc/samba/smbpasswd
#chmod 500 /etc/samba
#chmod 600 /etc/samba/smbpasswd
#ll -d /etc/samba
(4)單個用戶設置samba密碼
#useradd wujianan
#passwd wujianan
#smbpasswd -a wujianan
3)啟動samba伺服器
#service smb start
#pstree | grep mbd
#smbclient -L localhost或者IP地址
4)配置samba的共享
#vi /etc/samba/smb.conf
[global]
workgroup = workgroup
server string = samba server
;hosts allow = 192.168.1. 192.168.2. 127.
printcap = /etc/printcap
load prints = yes
printing = cups
;guest account = pcguest
log file = /var/log/samba/%m.log
max log size = 0
安全選項
security = user(share)
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
;interfaces = 192.168.12.2/24 192.168.13.2/24
dns proxy = no
設置每個用戶主目錄共享
[homes]
comment = Home Directries
browseable = no 不允許瀏覽共享文件夾
writeable = yes 允許寫入
valid users = %s
create mode = 0664
directry mode = 0775
[printers]
comment = All prints
path = /var/spool/samba
browseable = no
printable = yes
[doc]
comment = doc
path = /home/doc
browseable = no
writeable = no或 read only = yes
guest ok = yes
示例:
要求:創建一個共享目錄,所有用戶都可訪問,許可權為只讀。
#vi /etc/samba/smb.conf
workgroup = workgroup
server string = samba server
netbios name = RH9
dos charset = cp936
unix charset = cp936
secrity = share
[read]
comment = read
path = /home/read
public = yes
guest ok = yes
read only = yes
保存退出
#mkdir /home/read
#service iptables stop
#service smb start
#testparm
\\ip地址
創建一個可寫的目錄,允許所有用戶可寫入。
[write]
comment = write
path = /home/write
public = yes
guest ok = yes
writeable = yes
保存退出
#mkdir /home/write
#chmod 777 /home/write
#service iptables stop
#service smb restart
為指定的用戶和組訪問samba伺服器
#useradd mehost
#passwd wujianan
#smbpasswd -a wujianan
#mkdir /var/samba/wujianan
#chown stu1.stu1 /var/samba/wujianan
#vi /etc/samba/smb.conf

security = user

[wujianan]
comment = wujianan
path = /var/samba/wujianan
valid users = wujianan
public = yes
writeable = yes
保存退出
#service smb restart
最簡單的電影伺服器的配置
#vi /etc/samba/smb.conf
workgroup = workgroup
server string = movies server
guest account = nobody
security = share
client code page = cp936
wins support = yes
[movies]
comment = movies
browseable = yes
writeable = no
path = /movies
guest ok = yes
read only = yes
保存退出
#mkdir /movies
#useradd admin -d movies
#passwd admin
#vi /etc/passwd
admin:x:0:500::/movies:/bin/bash
保存退出
#ntsysv
選擇smb和vsftp項
#service smb start
#service vsftpd start
#service iptables stop

⑦ samba安裝、配置、排錯

零:場景:
| 共享名 | 路徑 | 許可權 |
| SHAREDOC | /smb/docs | 所有人員包括來賓均可以訪問 |
| RDDOCS | /smb/tech | 僅允許特定組的用戶進行讀寫訪問 |

特定組的組名為RD,目前的Alice、Jack、Tom三個人

一、 安裝Samba

//或者使用rpm安裝

//查看安裝版本信息

Tips:也之前的SAMBA 3有一個重大的變化是:security不再支持share
WARNING: Ignoring invalid value 'share' forparameter 'security'.

二、 配置Samba伺服器

1.創建共享目錄(假設共享/smb目錄下的文件)

2.配置內核參數

3.配置smb.conf文件
1)備份原配置文件:

2)刪除原有所有內容,添加如下內容:

[global]
workgroup=BIGCLOUD
netbios name=ZZSRV2
server string=Samba Server

security=user
map to guest = Bad User
[SHAREDOCS]
path=/smb/docs
readonly=yes
browseable=yes
guest ok=yes
[RDDOCS]
path = /smb/tech/
public = no
writable = yes
write list = @RD
valisers = @RD

三、 創建用戶並分配許可權

1.創建操作系統用戶

2.修改用戶的組

uid=1000(alice) gid=1000(alice)groups=1000(alice),1003(RD)

3.創建SAMBA用戶

4.修改目錄許可權

5.查看服務狀態

drwxrwx--- 2 RD RD 4096 Aug 11 17:08 /smb/tech/

smb.service - Samba SMB Daemon
Loaded: loaded(/usr/lib/systemd/system/smb.service; enabled)
Active: active (running) since Tue2014-08-12 11:38:29 CST; 14s ago
Main PID: 16807 (smbd)
Status: "smbd: ready to serveconnections..."
CGroup: /system.slice/smb.service
16807 /usr/sbin/smbd
16808 /usr/sbin/smbd

systemd[1]:Starting Samba SMB Daemon...
smbd[16807]:[2014/08/12 11:38:29.255341, 0]../lib/util/become_daemon.c:136(daemon_ready)
systemd[1]:Started Samba SMB Daemon.
smbd[16808]:STATUS=daemon 'smbd' finished starting up and ready to serve connectionsfailedto retrieve print...CCESSFUL
Hint:Some lines were ellipsized, use -l to show in full.

四、 測試連通性

1.Linux上測試

Domain=[BIGCLOUD] OS=[Unix] Server=[Samba 4.1.1]

Domain=[BIGCLOUD] OS=[Unix] Server=[Samba 4.1.1]

2.Windows上測試

1)使用虛擬機(如VMware)安裝Linux(如Ubuntu)系統時,為方便Windows和Linux文件互通方便(主要是Windows下訪問Linux文件了),一般都會在LINUX下安裝Samba伺服器。
在XP下,可以通過[//192.168.3.104](file://192.168.3.104/)(Linux系統IP)進行訪問其共享文件,但在WIN7或VISTA下卻不行,因為Samba只支持NTLM認證,而WIN7或VISTA則採用NTLMv2認證,因此必須經過一些設置才行,具體設置如下:
開始->運行->secpol.msc->本地策略->安全選項->網路安全:LAN管理器身份驗證級別->發送 LM 和 NTLMv2 ,如果已協商,則使用NTLMv2 (會話安全 &)->完成設置。(如下圖所示)
這時,再使用[//192.168.3.104](file://192.168.3.104/)(Linux系統IP)就可以訪問Linux共享文件了 _

2)C:>netuse * /del
您有以下的遠程連接:

繼續運行會取消連接。

您想繼續此操作嗎? (Y/N) [N]: y
命令成功完成。

C:>netuse 192.168.188.12 P@ssw0rd /U:alice
命令成功完成。

3)打開資源管理器進行寫入測試

4)如果windows下登錄samba伺服器後無法訪問linux下共享目錄,提示沒有許可權。則檢查:
a、確保linux下防火牆關閉或者是開放共享目錄許可權;
b、確保samba伺服器配置文件smb.conf設置沒有問題,可網上查閱資料看配置辦法 ;
c、確保setlinux關閉,可以用setenforce 0命令執行。 默認的,SELinux禁止網路上對Samba伺服器上的共享目錄進行寫操作,即使你在smb.conf中允許了這項操作。

⑧ 大家的雲伺服器能配置好Samba么

1. 安裝iptables防火牆

安裝iptables和iptables-services
yum install iptables
yum install iptables-services

*關閉centos自帶的防火牆
systemctl stop firewalld
systemctl mask firewalld



2. 清空防火牆默認規則和自定義規則

iptables -P INPUT ACCEPT
iptables -F
iptables -X
iptables -Z



3. 防火牆開放samba服務所需埠和常用埠

vi /etc/sysconfig/iptables
添加以下內容到iptables中
-A INPUT -m state –state NEW -m tcp -p tcp –dport 139 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 445 -j ACCEPT
-A INPUT -m state –state NEW -m udp -p udp –dport 137 -j ACCEPT
-A INPUT -m state –state NEW -m udp -p udp –dport 138 -j ACCEPT
-A INPUT -p tcp –dport 22 -j ACCEPT
-A INPUT -p tcp –dport 21 -j ACCEPT
-A INPUT -p tcp –dport 80 -j ACCEPT
-A INPUT -p tcp –dport 443 -j ACCEPT
-A INPUT -p icmp –icmp-type 8 -j ACCEPT
-A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
-P OUTPUT ACCEPT



4. 開啟iptables防火牆

注冊iptables服務
systemctl enable iptables.service
開啟服務
systemctl start iptables.service
查看狀態
systemctl status iptables.service



5. 安裝和配置samba

yum install samba
設置samba開機啟動
chkconfig smb on

vim /etc/samba/smb.conf,粘貼復制以下內容
[global]
unix charset = gbk
dos charset = gbk
workgroup = img
netbios name = img
server string = uc
security = user
smb ports = 1315 1314 #很重要,貌似阿里雲屏蔽了samba默認的埠

[img]
comment = uc
path=/home/xuhaoguang/work
create mask = 0664
directory mask = 0775
writable = yes
valid users = work #登錄samba服務的賬號
browseable = yes

給samba添加work賬號:
smbpasswd -a work

啟動samba:
service smb restart



6. 客戶端連接samba服務

mac:
command +k ; smb://ip_address:1314

windows:
運行輸入:Samba伺服器的ip

我是按照上面的步驟完成阿里雲伺服器上的samba配置的,僅供大家參考!

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:334
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:377
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:611
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:31
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:942
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:739
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:802
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:510
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:371