Samba服務全攻略(配置實例詳解)

來源:本站原創 Linux 超過1,620 views圍觀 0條評論

本文介紹下,linux中的文件共享服務samba的安裝與配置攻略,相當不錯的一篇文章,有需要的朋友,參考下吧。

第一部分:Samba服務的控制選項(用戶控制、訪問控制)

1,用戶控制

public = no 不允許匿名用戶訪問
browseable = yes 不隱藏目錄(知道目錄同樣可以訪問) (系統默認yes,可以不寫)
valid users = 用戶或列表或@用戶組
writable = yes 可寫(目錄本身要可寫)
writable list = 用戶或列表或@用戶組
readonly = yes 是否設置只讀(系統默認yes,可以不寫)
create mask = 0744 控制客戶機創建文件的權限(系統默認0744)
directory mask = 0744 控制客戶機創建目錄的權限(系統默認0755)

2,訪問控制

max connections = 最大連接數目
deadtime = 斷掉連接時間(分鐘)0為不限制

注:在全局里增加
hosts deny = .sale.com .net free 表示禁止.sale.com域和.net域及主機名為free的客戶端訪問
hosts deny = All 表示所有客戶端,并不是說允許主機名為ALL的客戶端可以訪問。常用的通配符還有“*”,“?”,“LOCAL”等
hosts allow = 192.168.0. EXCEPT 192.168.0.100 192.168.0.78 表示允許192.168.0.0網段IP地址訪問,但是192.168.0.100和192.168.0.78除外

注:在可在全局與局部里增加

注::允許優先

第二部分:幾個關鍵字段

根據需要增加在全局里面。雖然簡單,但功能不簡單,大家在用到的時候慢慢來體會。

include = /etc/samba/%G.smb.conf     調用用戶組相關 的配置文件
include = /etc/samba/%U.smb.conf     調用用戶相關的配置文件
username map = /etc/samba/smbusers   調用映射用戶賬號的配置文件

第三部分:和Samba有關的一些命令

批量增加SMB用戶(很多人想要的東東)

復制代碼代碼示例:

# for user in 用戶列表
>do
>useradd -g group -s shell $user
>smbpasswd -a $user
>done

編輯SMB的用戶賬號相關命令

smbpasswd
smbpasswd -a 增加一個賬號
smbpasswd -d 禁用一個賬號
smbpasswd -e 啟用一個賬號
smbpasswd -x 刪除一個賬號
smbpasswd 更改用戶密碼

pdbedit

pdbedit -L 列出SMB中的賬號
pdbedit -a 增加一個賬號
pdbedit -x 刪除一個賬號

注:上面兩個命令,大家根據需要選擇

Linux客戶端的訪問工具

smbtree 顯示局域網中的所有共享主機和目錄列表
smbtree -D 只顯示局域網中的工作組或域名。后面可以加上-U username%passwd ,則表示是相關用戶的訪問權限

nmblookup 某個主機的netbios主機名或工作組。 #  顯示相應的IP

smbclient命令格式
smbclient  -L  //主機名或IP地址 -U 登錄用戶名   #  列出目標主機共享資源列表
smbclient    //主機名或IP地址/共享目錄名 -U 登錄用戶名  #  使用共享資源

mount命令格式
mount  //目標IP地址或主機名/共享目錄名稱 掛載點 -o username=用戶名  # 掛載共享
umount 掛載點  # 卸載共享
smbtar  -s server –u user –p passwd –x shareneam –t output.tar  # 把遠程 的內容備份到本地
tar tvf *.tar  # 查看TAR文件包里面的的內容

第四部分:實例詳解

例1,員工可以在公司內流動辦公,無論在任何一臺機器上工作,都能把自己的文件放到服務器里,同時不能使用服務器上的SHELL。(注解:SMB中有關于用戶家目錄的默共享
設置,我們只要 設置USER級別,然后再增加用戶和指定不可用的SHELL)
smb.conf配置文件更改的內容如下

復制代碼代碼示例:

security = user
[homes]
comment = Home Directories
browseable = no

writable = yes
valid users = %S

配置好后,就重新啟動SMB服務

復制代碼代碼示例:

# useradd user -s /dev/null
# smbpasswd -a user

增加好用戶和密碼后,直接測試!
不用重新啟動SMB服務!

例2,建立共享目錄student,它的本機路徑為“/home/student”,只有teachers組的用戶可以讀寫該目 錄,students用戶組只能讀取。(注解:這個關鍵是不同組對同一個目
錄的權限設置,student這 個目錄屬于students用戶組,并設置他的OTHER 權限為7,我們通過這個OTHER權限來實現teachers組對student目錄的訪問,通過SMB的配置文件來
限制用戶訪問)

復制代碼代碼示例:

# mkdir /home/student
# groupadd students
# groupadd teachers
# useradd -g students user
# useradd -g teachers user
# smbpasswd -a user
# chgrp students /home/student
# chmod 757 /home/student
# chmod g+s /home/student

smb.conf配置文件更改的內容如下

復制代碼代碼示例:

security = user
[student]
  path = /home/student
  comment = student
  write list = @teachers
  valid users = @teachers @students

重新啟動SMB服務,進行測試。

 

例3,公司有二個部門( sales  market ),銷售部和市場部有自己單獨的共享目錄,只可以總經理和相應部門員工訪問,并且公司員工禁止訪問非本部門的共享目錄。(注
解:這一個內容與第二個類似,只是用戶組變成用戶,多了一個用戶組,只需要把文件夾所有者給總經理,所屬組為用戶 組就OK)

復制代碼代碼示例:

# mkdir /home/sales
# mkdir /home/market
# groupadd sales
# groupadd market
# useradd -g sales user
# useradd -g market user
# smbpasswd -a user
# chgrp sales /home/sales
# chgrp market /home/market
# chown ceo /home/sales
# chown ceo /home/market
# chmod 770 /home/sales
# chmod 770 /home/market
# chmod g+s /home/sales
# chmod g+s /home/market

smb.conf配置文件更改的內容如下

復制代碼代碼示例:

security = user
[sales]
  path = /home/sales
  comment = sales
  write list = @sales ceo
  valid users = @sales ceo
  create mask = 0770
  directory mask = 0770
[market]
  path = /home/market
  comment = market
  write list = @market ceo
  valid users = @market ceo
  create mask = 0770
  directory mask = 0770

重新啟動SMB服務,進行測試。

例4,實現在登陸的時候只能看到自己的共享目錄,沒有權限訪問的看不到。

(注解:其實實現這個主要靠加載獨立的配置文件來實現,只要把獨立的文件設置好相應的權限就 OK,SMB主配置文件中加入獨立的配置文件,其他不用設置)
關于用戶的增加我這里 就不寫出來了,和上面的沒有區別。(略過)

首先,把源始的smb.conf  COPY 出來,后面加上相應的用戶或者組, 如:smb.conf.user   smb.conf.group
然后,配置各己的配置文件。

如:smb.conf.ceo

復制代碼代碼示例:

[sales]
  comment = sales
  path = /home/sales
  writeable = yes
  valid users = ceo
  create mask = 0770
  directory mask = 0770

[markets]
  comment = markets
  path = /home/markets
  writeable = yes
  valid users = ceo
  create mask = 0770
  directory mask = 0770

如:smb.conf.sales

復制代碼代碼示例:

[sales]
  comment = sales
  path = /home/sales
  writeable = yes
  valid users = @sales
  create mask = 0770
  directory mask = 0770

如:smb.conf.markets

復制代碼代碼示例:

[markets]
  comment = markets
  path = /home/markets
  writeable = yes
  valid users = @markets
  create mask = 0770
  directory mask = 0770

主配置文件如下:

復制代碼代碼示例:

security = user
  include = /etc/samba/smb.conf.%G
  include = /etc/samba/smb.conf.%U

其他的不用設置,重新啟動SMB服務,然后測試!祝大家好遠!!!

第五部分:Samba服務搭建的注意事項
1、防火墻和SELinux
2、主機名
3、建立Samba用戶
4、用戶的權限
5、目錄的權限
6、其他事項

第六部分:Samba服務排錯
(1)錯誤信息
(2)配置文件
(3)日志文件

testparm     #查看配置文件
testparm /etc/samba/smb.conf 主機名 IP   #測試具體機器能否訪問及訪問的范圍
netstat –tlunp | grep service  #顯示服務的對應端

就是這些了,為大家詳細介紹了samba的服務安裝與配置、及相關的注意事項,希望對大家有所幫助。

 

原文 http://www.jbxue.com/article/9964_2.html

文章出自:CCIE那點事 http://www.qdxgqk.live/ 版權所有。本站文章除注明出處外,皆為作者原創文章,可自由引用,但請注明來源。 禁止全文轉載。
本文鏈接:http://www.qdxgqk.live/?p=3250轉載請注明轉自CCIE那點事
如果喜歡:點此訂閱本站
  • 相關文章
  • 為您推薦
  • 各種觀點
?
暫時還木有人評論,坐等沙發!
發表評論

您必須 [ 登錄 ] 才能發表留言!

?
?
萌宠夺宝游戏