1、怎麼配置samba伺服器
1.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
將源碼文件下默認的conf文件拷貝到安裝目錄下的etc目錄中
/usr/local/samba-4.1.14$ cp /home/anonymalias/Downloads/samba-4.1.14/examples/smb.conf.defaultetc/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,可以看到如下界面:
2、用什麼命令來啟動samba伺服器
1、啟動Samba服務
/etc/rc.d/init.d/smb start
2、停止Samba服務
/etc/rc.d/init.d/smb stop
3、重新啟動Smaba服務
/etc/rc.d/init.d/smb restart
4、重新載入Smaba服務
/etc/rc.d/init.d/smb reload
5、編輯啟動載入項
ntsysv
chkconfig -level n smb on/off
3、訪問samba伺服器的方式有哪些
這個簡單,可以參考 《鳥哥的linux私房菜 伺服器》 第一個伺服器就是samba伺服器。。具體的來說: 【samba配置文件smb.conf】 一般你裝系統的時候會默認安裝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 = 一二漆. 一9二.一陸吧.一二. 一9二.一陸吧.一三. # 用來設置允許的主機,如果在前面加」;」則表示允許所有主機 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的防火牆」部分 一. 共享一個目錄,任何人都可以訪問,即不用輸入密碼即可訪問,要求只讀。 打開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 漆漆漆 /tmp/samba 啟動samba服務 /etc/init.d/smb start 測試: 首先測試你配置的smb.conf是否正確,用下面的命令 testparm 如果沒有錯誤,則在你的windows機器上的瀏覽器中輸入file://IP/share 看是否能訪問 二. 共享一個目錄,使用用戶名和密碼登錄後才可以訪問,要求可以讀寫 打開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 漆漆漆 /samba 然後添加用戶。因為在[globa]中」 passdb backend = tdbsam」,所以要使用」 pdbedit」 來增加用戶,注意添加的用戶必須在系統中存在。 useradd user一 user二 pdbedit -a user一 # 添加user一賬號,並定義其密碼 pdbedit -a user二 pdbedit -L # 列出所有的賬號 測試: 打開IE瀏覽器輸入file://IP/myshare/ 然後輸入用戶名和密碼 三. 使用linux訪問samba伺服器 Samba服務在linux下同樣可以訪問。前提是你的linux安裝了samba-client軟體包。安裝完後就可以使用smbclient命令了。 smbclient //IP/共享名 -U 用戶名 如:[root@localhost]# smbclient //一0.0.四.陸漆/myshare/ -U user一 Password: Domain=[LOCALHOST] OS=[Unix] Server=[Samba 三.0.三三-三.二9.el5_陸.二] smb: \> 出現如上所示的界面。可以打一個」?」列出所有可以使用的命令。常用的有cd, ls, rm, pwd, tar, mkdir, chown, get, put等等,使用help + 命令可以列印該命令如何使用,其中get是下載,put是上傳。 另外的方式就是通過mount掛載了: 如: mount -t cifs //一0.0.四.陸漆/myshare /mnt -o username=user一,password=一二三四5陸 格式就是這樣,要指定-t cifs //IP/共享名本地掛載點 -o後面跟username 和 password 掛載完後就可以像使用本地的目錄一樣使用共享的目錄了
4、samba伺服器
這個是基礎的samba配置,不難的,有問題可以發消息給我。
5、伺服器配置的Samba伺服器
第1步,執行「應用程序」/「系統設置」/「伺服器設置」/「Samba」菜單命令,將彈出「Samba伺服器配置」對話框 。
第2步,在彈出的「Samba伺服器配置」對話框中執行「首選項」/「伺服器設置」命令,將彈出「伺服器設置」對話框。在該對話框的「基本」選項卡中設置工具組名稱,可與Windows操作系統工作組的名稱相同,也可在「描述」文本框中填寫計算機的描述語言,它將在網路中顯示。
第3步,切換到「安全性」選項卡,在該選項卡中設置驗證模式「共享」、加密口令為「否」、來賓賬戶「無來賓賬戶」,最後單擊「確定」按鈕完成伺服器配置。
第4步,單擊「Samba伺服器配置」對話框中工具欄上「添加」按鈕,將彈出「創建Samba共享」對話框,在「目錄」文本框中輸入需要共享的目錄路徑和目錄名,在「共享名」文本框中輸入網路中顯示的名稱,默認為共享目錄名,也可在描述文本框中輸入一些說明,在「基本許可權」中可以選擇用戶是否有許可權對共享目錄進行寫操作,若不需網路中的客戶對共享的資源進行修改,則選擇「只讀」選項。
第5步,切換到「訪問」選項卡,在該選項卡中選擇「允許所有用戶訪問」選項,最後單擊「確定」按鈕完成伺服器配置。
第6步,關閉「伺服器配置」對話框,執行「應用程序」/「系統設置」/「伺服器設置」/「服務」菜單命令,在該對話框的服務列表中選中「smb」,再單擊工具欄中的「重啟」按鈕。
第7步,通過以上的配置,Samba伺服器就配置完成了。在Windows操作系統中打開網上鄰居,在網上鄰居中即可看到Linux操作系統rho1的共享「cdrom」。
6、如何配置samba伺服器
這個簡單,可以參考 《鳥哥的linux私房菜 伺服器》 第一個伺服器就是samba伺服器。。具體的來說:
【samba配置文件smb.conf】
一般你裝系統的時候會默認安裝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
掛載完後就可以像使用本地的目錄一樣使用共享的目錄了。
7、samba伺服器相關
有兩個方面可以檢查一下,
一查一下centos里smb.conf和host.deny有沒有限制ip,
一查一下centos里smb.conf對smb協議的配置,是不是做了什麼限制,
min protocol max protocol
8、samba伺服器的優缺點
Samba是在linux機unix上實現SMB協議的一個免費軟體,有伺服器及客戶端程序構成,SMB協議是建立在NetBIOS 協議之上的應用協議,是基於TCP138/139兩個埠的服務。被用於Lan Manager和Windows伺服器系統中,實現不同的計算機直接共享列印機和文件等。
Samba的伺服器程序可以實現以下主要功能:
1、文件及列印共享;
2、計算機名與IP的解析;
3、windows服務的支持;
4、用戶許可權的設置;
9、linux系統SAMBA伺服器是干什麼用的?
是 和windows 進行 文件列印機共享的組件 結果就是linux ,windows 可以互相訪問他們的共享文件,,
10、samba伺服器的功能
在一些中小型網路,或者企業的內部網中,利用Linux建立文件伺服器是一個很好的解決方案。針對企業內部網中的絕大部分客戶機採用Windows的情況,我們可以通過使用Samba來實現文件伺服器功能。
Samba是在Linux及Unix上實現SMB(Server Message Block)協議的一個免費軟體,由伺服器及客戶端程序構成。這里我們只介紹伺服器程序。
我們首先介紹一些SMB協議的情況。SMB協議是建立在NetBIOS協議之上的應用協議,是基於TCP138、139兩個埠的服務。NetBIOS出現之後,Microsoft就使用NetBIOS實現了一個網路文件/列印服務系統。這個系統基於NetBIOS設定了一套文件共享協議,Microsoft稱之為SMB(Server Message Block)協議。這個協議被用於Lan Manager和Windows伺服器系統中,實現不同計算機之間共享列印機和文件等。因此,為了讓Windows和Unix/Linux計算機相集成,最好的辦法就是在Unix/Linux計算機中安裝支持SMB協議的軟體。這樣使用Windows的客戶端不需要更改設置,就能像使用Windows NT或Windows 2000伺服器一樣,使用Unix/Linux計算機上的共享資源了。Samba使SMB協議運行在NetBIOS協議上,並且使用Windows的NetBEUI協議讓Unix/Linux伺服器可以在Windows的網路鄰居上被訪問到。
Samba的伺服器程序可以實現以下主要功能:
◆ 文件及列印共享;
◆ 計算機名與IP的解悉;
◆ WINS服務的支持;
◆ 用戶許可權設置(如果配合Linux 的Quota還可以實現用戶磁碟空間配額)。