① 「samba」中設置共享目錄步驟是什麼
Samba是一套開源/免費的軟體包,它給SMB/CIFS客戶端提供了無縫的文件和列印服務。想要在samba中設置共享目錄應在其中添加以下代碼:
comment = Shared Folder withusername and password
path = /home/xxx
public = yes
writable = yes
valid users = xxx
create mask = 0777
directory mask = 0777
force user = xxx
available = yes
browseable = yes
② 如何配置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目錄擁有所有權
③ samba伺服器的配置文件是
samba伺服器的配置文件是smb.conf。
Samba是在Linux和UNIX系統上實現SMB協議的一個免費軟體,由伺服器及客戶端程序構成。SMB(Server Messages Block,信息服務塊)是一種在區域網上共享文件和列印機的一種通信協議。
同http表示的是應用層中的HTTP協議一樣,其中smb指的是在表示層和會話層(少部分在應用層)上的通信協議。SMB(server message block )即服務信息塊,作用是在區域網上實現共享文件和列印機功能。Samba則是在Linux和uniux之間實現SMB協議的一種免費軟體。
samba伺服器簡介
Samba是在Linux和UNIX系統上實現SMB協檔顫議的一個免費軟體,由伺服器及客戶端程序構成。SMB(Server Messages Block,信息服務塊)是一種在區域網上共享文件和列印敏渣機的一種通信協議,它為區域網內的不同計算機之間提供文件及列印機等資源的共享服務。
SMB協議是客戶機/伺服器型協議,客戶機通過該協議可以訪問伺服器上的共享文件系統、列印機及其他資源。通過設置「NetBIOS over TCP/IP」使得Samba不但能與區域網絡主機分享資源,還能與全世界行拿敗的電腦分享資源。
④ samba的主配置文件是啥
一、cd /etc/samba /// samba伺服器的主配置文件路徑
vi smb.conf /// 編輯samba伺服器的主配置文件
第一部分 全局參數 [global]
第二部分 用戶參數 [homes]
第三部分 列印參數
第四部分 用戶自定義參數 [tmp]
第一部分
workgroup = NT-Domain-Name /// 域名 or Work group name
netbios /// 在網上鄰居里顯示為LINUX
server string = samba server
host allow = 192.168.0 /// 允許訪問的網段
hosts deny = 192.168.1 /// 拒絕訪問的網段
Printiap /// 列印機配置文件路徑
load printiap = yes /// 共享列印機
log file = /var/log/samba/%m.log /// 日誌文件
max log size = 0 /// 最大日誌大小 0 是無限制 有限制建議500----1000K
security passwords = yes /// 設置密碼加密 必為yes
smb passwd file = /etc/samba/smbpasswd /// 密碼文件所在路徑
unix password sym = yes /// samba 與系統用戶帳戶同步 必為yes
pam password change = yes /// 改動密碼程序
dns proxy = no /// DNS 查詢
變數
%m 客戶機的NETBOIS名
%s 當前服務名
%p 當前服務根路徑
%u 當前服務的用戶名
%v SAMBA的版本號
%h 運行SAMBA的機器的主機名
%l 伺服器的NETBOIS名
%g 工作組的名
重定向本地用戶帳號到samba passwd
cat /etc/passwd | masamba passwd.sh > /etc/samba/smbpasswd
在LINUX中使用SAMBA的用戶名必須存在與本地用戶帳戶信息中,否則該用戶名無效,也就是說要在SAMBA中建立一個新猜派的用戶,必須也要在本地建立該帳戶知拆
smbpasswd 用戶名 /// 更改smb的密碼
smbpasswd -a user /// 創建一個新的smb用戶
更改許可權
chmod 600 /etc/samba/smbpasswd
chmod 600 /etc/samba
第二部分
comment = Home Directories /// 共享描述
browseable = no /// 瀏覽許可權
writable = yes /// 寫入許可權
valid user = %s /// 指定允許使用的用戶列表
create mode = 0664
directory mode
第三部分
path = /var/spool/samba /// 共享路徑
guest ok = no //穗猛賀/ 拒絕guest用戶
第四部分
read only = no /// 只讀許可權
新建共享
[my share]
path = 路徑
read only = yes
writable = yes
browseable = no
rest list = 填用戶名 /// 只讀訪問列表,是否可以允許guest訪問,包括所有的smb伺服器內部所有的帳戶
public = no
write list = ///讀寫訪問列表
valid users = ///指定允許使用的服務的用戶列表
mvalid users = /// 指定不允許使用服務的用戶列表
⑤ 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的主配置文件是啥拜託了各位 謝謝
一、 /etc/samba /// samba伺服器的主配置文件路徑 vi smb.conf /// 編輯samba伺服器的主配置文件 第一部分 全局參數 [global] 第二部分 用戶參數 [homes] 第三部分 列印參數 第四部分 用戶自定義參數 [tmp] 第一部分 workgroup = NT-Domain-Name /// 域名 or Work group name netbios /// 在網上鄰居里顯示為LINUX server string = samba server host allow = 192.168.0 /// 允許訪問的網段 hosts deny = 192.168.1 /// 拒絕訪問的網段 Printiap /// 列印機配置文件路徑 load printiap = yes /// 共享列印機 log file = /var/log/samba/%m.log /// 日誌文件 max log size = 0 /// 最大日誌大小 0 是無限制 有限制建議500----1000K security passwords = yes /// 設置密碼加密 必為yes smb passwd file = /etc/samba/smbpasswd /// 密碼文件所在路徑 unix password sym = yes /// samba 與系統用戶帳戶同步 必為yes pam password change = yes /// 改動密碼程序 dns proxy = no /// DNS 查詢 變數 %m 客戶機的NETBOIS名 %s 當前服務名 %p 當前服務根路徑 %u 當前服務的用戶名 %v SAMBA的版本號 %h 運行SAMBA的機器的主機名 %l 伺服器的NETBOIS名 %g 工作組的名 重定向本地用戶帳號到samba passwd cat /etc/passwd | masamba passwd.sh > /etc/samba/smbpasswd 在LINUX中使用SAMBA的用戶名必須存在與本地用戶帳戶信息中,否則該用戶名無效,也就是說要在SAMBA中建立一個新的用戶,必須也要在本地建立該帳戶 smbpasswd 用戶名 /// 更改smb的密碼 smbpasswd -a user /// 創建一個新的smb用戶 更改許可權 chmod 600 /etc/samba/smbpasswd chmod 600 /etc/samba 第二部分 comment = Home Directories /// 共享描述 browseable = no /// 瀏覽許可權 writable = yes /// 寫入許可權 valid user = %s /// 指定允許使用的用戶列表 create mode = 0664 directory mode 第三部分 path = /var/spool/samba /// 共享路徑 guest ok = no /// 拒絕guest用戶 第四部分 read only = no /// 只讀許可權 新建共享 [my share] path = 路徑 read only = yes writable = yes browseable = no rest list = 填用戶名 /// 只讀訪問列表,是否可以允許guest訪問,包括所有的smb伺服器內部所有的帳戶 public = no write list = ///讀寫訪問列表 valid users = ///指定允許使用的服務的用戶列表 mvalid users = /// 指定不允許使用服務的用戶列表
⑦ samba伺服器的配置如何將共享目錄設置為/data,共享名為shares
1.創建共享目錄public,修改許可權為777
2.創建用戶和組,並將用戶加為smb賬神睜數號smbpasswd -a username
3.修改主配置文件 vim /etc/samba/smb.conf
#====== Share Definitions ===========
[public]
comment = the share for Alluser
path = /tmp/public //共享目錄路游首徑
valid users = @user //早並能使用該共享資源的用戶和組
#read list 只能讀取該共享資源的用戶和組。
Write list = @user //能讀取和寫入該共享資源的用戶和組
browseable = no //是否列出共享,no即隱藏
4.smbclient //ip_addr/public_name -U user_name%passwd //訪問共享目錄
⑧ linux中samba配置文件怎麼配置
Samba配置文件常用參數詳解
Samba的主配置文件叫smb.conf,默認在/etc/samba/目錄下。
smb.conf含有多個段,每個段由段名開始,直到下個段名。每個段名放在方括弧中間。每段的參數的格式是:名稱=指。配置文件中一行一個段名和參數,段名和參數名不分大小寫。
除了[global]段外,所有的段都可以看作是一個共享資源。段名是該共享資源的名字,段里的參數是該共享資源的屬性。
Samba安裝好後,使用testparm命令可以測試smb.conf配置是否正確。使用testparm –v命令可以詳細的列出smb.conf支持的配置參數。
全局參數:
==================Global Settings ===================
[global]
config file = /usr/local/samba/lib/smb.conf.%m
說明:config file可以讓你使用另一個配置文件來覆蓋預設的配置文件。如果文件 不存在,則該項無效。這個參數很有用,可以使得samba配置更靈活,可以讓一台samba伺服器模擬多台不同配置的伺服器。比如,你想讓PC1(主機名)這台電腦在訪問Samba Server時使用它自己的配置文件,那麼先在/etc/samba/host/下為PC1配置一個名為smb.conf.pc1的文件,然後在smb.conf中加入:config file = /etc/samba/host/smb.conf.%m。這樣當PC1請求連接Samba Server時,smb.conf.%m就被替換成smb.conf.pc1。這樣,對於PC1來說,它所使用的Samba服務就是由smb.conf.pc1定義的,而其他機器訪問Samba Server則還是應用smb.conf。
workgroup = WORKGROUP
說明:設定 Samba Server 所要加入的工作組或者域。
server string = Samba Server Version %v
說明:設定 Samba Server 的注釋,可以是任何字元串,也可以不填。宏%v表示顯示Samba的版本號。
netbios name = smbserver
說明:設置Samba Server的NetBIOS名稱。如果不填,則默認會使用該伺服器的DNS名稱的第一部分。netbios name和workgroup名字不要設置成一樣了。
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
說明:設置Samba Server監聽哪些網卡,可以寫網卡名,也可以寫該網卡的IP地址。
hosts allow = 127. 192.168.1. 192.168.10.1
說明:表示允許連接到Samba Server的客戶端,多個參數以空格隔開。可以用一個IP表示,也可以用一個網段表示。hosts deny 與hosts allow 剛好相反。
例如:hosts allow=172.17.2.EXCEPT172.17.2.50
表示容許來自172.17.2.*.*的主機連接,但排除172.17.2.50
hosts allow=172.17.2.0/255.255.0.0
表示容許來自172.17.2.0/255.255.0.0子網中的所有主機連接
hosts allow=M1,M2
表示容許來自M1和M2兩台計算機連接
hosts allow=@xq
表示容許來自XQ網域的所有計算機連接
max connections = 0
說明:max connections用來指定連接Samba Server的最大連接數目。如果超出連接數目,則新的連接請求將被拒絕。0表示不限制。
deadtime = 0
說明:deadtime用來設置斷掉一個沒有打開任何文件的連接的時間。單位是分鍾,0代表Samba Server不自動切斷任何連接。
time server = yes/no
說明:time server用來設置讓nmdb成為windows客戶端的時間伺服器。
log file = /var/log/samba/log.%m
說明:設置Samba Server日誌文件的存儲位置以及日誌文件名稱。在文件名後加個宏%m(主機名),表示對每台訪問Samba Server的機器都單獨記錄一個日誌文件。如果pc1、pc2訪問過Samba Server,就會在/var/log/samba目錄下留下log.pc1和log.pc2兩個日誌文件。
max log size = 50
說明:設置Samba Server日誌文件的最大容量,單位為kB,0代表不限制。
security = user
說明:設置用戶訪問Samba Server的驗證方式,一共有四種驗證方式。
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
說明:passdb backend就是用戶後台的意思。目前有三種後台:smbpasswd、tdbsam和ldapsam。sam應該是security account manager(安全賬戶管理)的簡寫。
1.smbpasswd:該方式是使用smb自己的工具smbpasswd來給系統用戶(真實
用戶或者虛擬用戶)設置一個Samba密碼,客戶端就用這個密碼來訪問Samba的資源。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用戶的賬號。
3.ldapsam:該方式則是基於LDAP的賬戶管理方式來驗證用戶。首先要建立LDAP服務,然後設置「passdb backend = ldapsam:ldap://LDAP Server」
encrypt passwords = yes/no
說明:是否將認證密碼加密。因為現在windows操作系統都是使用加密密碼,所以一般要開啟此項。不過配置文件默認已開啟。
smb passwd file = /etc/samba/smbpasswd
說明:用來定義samba用戶的密碼文件。smbpasswd文件如果沒有那就要手工新建。
username map = /etc/samba/smbusers
說明:用來定義用戶名映射,比如可以將root換成administrator、admin等。不過要事先在smbusers文件中定義好。比如:root = administrator admin,這樣就可以用administrator或admin這兩個用戶來代替root登陸Samba Server,更貼近windows用戶的習慣。
guest account = nobody
說明:用來設置guest用戶名。
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
說明:用來設置伺服器和客戶端之間會話的Socket選項,可以優化傳輸速度。
domain master = yes/no
說明:設置Samba伺服器是否要成為網域主瀏覽器,網域主瀏覽器可以管理跨子網域的瀏覽服務。
local master = yes/no
說明:local master用來指定Samba Server是否試圖成為本地網域主瀏覽器。如果設為no,則永遠不會成為本地網域主瀏覽器。但是即使設置為yes,也不等於該Samba Server就能成為主瀏覽器,還需要參加選舉。
preferred master = yes/no
說明:設置Samba Server一開機就強迫進行主瀏覽器選舉,可以提高Samba Server成為本地網域主瀏覽器的機會。如果該參數指定為yes時,最好把domain master也指定為yes。使用該參數時要注意:如果在本Samba Server所在的子網有其他的機器(不論是windows NT還是其他Samba Server)也指定為首要主瀏覽器時,那麼這些機器將會因為爭奪主瀏覽器而在網路上大發廣播,影響網路性能。
如果同一個區域內有多台Samba Server,將上面三個參數設定在一台即可。
os level = 200
說明:設置samba伺服器的os level。該參數決定Samba Server是否有機會成為本地網域的主瀏覽器。os level從0到255,winNT的os level是32,win95/98的os level是1。Windows 2000的os level是64。如果設置為0,則意味著Samba Server將失去瀏覽選擇。如果想讓Samba Server成為PDC,那麼將它的os level值設大些。
domain logons = yes/no
說明:設置Samba Server是否要做為本地域控制器。主域控制器和備份域控制器都需要開啟此項。
logon . = %u.bat
說明:當使用者用windows客戶端登陸,那麼Samba將提供一個登陸檔。如果設置成%u.bat,那麼就要為每個用戶提供一個登陸檔。如果人比較多,那就比較麻煩。可以設置成一個具體的文件名,比如start.bat,那麼用戶登陸後都會去執行start.bat,而不用為每個用戶設定一個登陸檔了。這個文件要放置在[netlogon]的path設置的目錄路徑下。
wins support = yes/no
說明:設置samba伺服器是否提供wins服務。
wins server = wins伺服器IP地址
說明:設置Samba Server是否使用別的wins伺服器提供wins服務。
wins proxy = yes/no
說明:設置Samba Server是否開啟wins代理服務。
dns proxy = yes/no
說明:設置Samba Server是否開啟dns代理服務。
load printers = yes/no
說明:設置是否在啟動Samba時就共享列印機。
printcap name = cups
說明:設置共享列印機的配置文件。
printing = cups
說明:設置Samba共享列印機的類型。現在支持的列印系統有:bsd, sysv, plp, lprng, aix, hpux, qnx
共享參數:
================== Share Definitions ==================
[共享名]
comment = 任意字元串
說明:comment是對該共享的描述,可以是任意字元串。
path = 共享目錄路徑
說明:path用來指定共享目錄的路徑。可以用%u、%m這樣的宏來代替路徑里的unix用戶和客戶機的Netbios名,用宏表示主要用於[homes]共享域。例如:如果我們不打算用home段做為客戶的共享,而是在/home/share/下為每個Linux用戶以他的用戶名建個目錄,作為他的共享目錄,這樣path就可以寫成:path = /home/share/%u; 。用戶在連接到這共享時具體的路徑會被他的用戶名代替,要注意這個用戶名路徑一定要存在,否則,客戶機在訪問時會找不到網路路徑。同樣,如果我們不是以用戶來劃分目錄,而是以客戶機來劃分目錄,為網路上每台可以訪問samba的機器都各自建個以它的netbios名的路徑,作為不同機器的共享資源,就可以這樣寫:path = /home/share/%m 。
browseable = yes/no
說明:browseable用來指定該共享是否可以瀏覽。
writable = yes/no
說明:writable用來指定該共享路徑是否可寫。
available = yes/no
說明:available用來指定該共享資源是否可用。
admin users = 該共享的管理者
說明:admin users用來指定該共享的管理員(對該共享具有完全控制許可權)。在samba 3.0中,如果用戶驗證方式設置成「security=share」時,此項無效。
例如:admin users =bobyuan,jane(多個用戶中間用逗號隔開)。
valid users = 允許訪問該共享的用戶
說明:valid users用來指定允許訪問該共享資源的用戶。
例如:valid users = bobyuan,@bob,@tech(多個用戶或者組中間用逗號隔開,如果要加入一個組就用「@+組名」表示。)
invalid users = 禁止訪問該共享的用戶
說明:invalid users用來指定不允許訪問該共享資源的用戶。
例如:invalid users = root,@bob(多個用戶或者組中間用逗號隔開。)
write list = 允許寫入該共享的用戶
說明:write list用來指定可以在該共享下寫入文件的用戶。
例如:write list = bobyuan,@bob
public = yes/no
說明:public用來指定該共享是否允許guest賬戶訪問。
guest ok = yes/no
說明:意義同「public」。
幾個特殊共享:
[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配置文件
/etc/samba/smb.conf
這個文件敗銀行大概分為 全局配置 和 共享配置
smb.sonf.example 配置樣例文件,裡面有關於配置Samba伺服器樣察嘩例
1.全局配置[global]
全局配搏仔置下有許多選項,可按照需要自行添加
#=========Global Settings=================
passdb backend = tdbsam
#=============Share Definitions=========
[共享名]
⑩ 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服務那樣進行各種命令操作。
參考資料: