RHEL學習筆記─Samba

Linux 的SMB服務,講SMB很多人都是頭冒星星、問號滿天飛,其實說穿了就是在 Windows 常見的網路芳鄰,用 Linux 的 Samba,可做出很多意想不到的SMB服務功能外,另有權限控管,大幅提高企業網路服務安全等級;

先檢查 samba 套件

rpm -qa samba samba-common samba-client

其中 samba 及 samba-common 是 Server端的套件;
另外 samba-client 及 samba-common 是 Client端的套件;

因為最後做測試時,利用本機來測所以連client端套件就一併安裝檢查;

service smb start    啟用samba服務;

chkconfig smb on    開機啟用samba;

samba的設定檔可以全數集中在 /etc/samba/smb.conf 統一管理;

vi /etc/samba/smb.conf

在 [global] 中,顧名思義是全域性共同設定都在這一段底下;

workgroup:這部份是網路芳鄰中看到的芳鄰群組名稱;

netbios name:主機的 NetBIOS 名稱(注意不能和芳鄰中的其它主機有相同命名);

server string:samba主機的簡易說明;


使用者登入層級設定

security = user 用來限制使用者的權限;
建議設 passdb backend = smbpasswd

security = share 不用驗証,不需要密碼即可分享;
通常會配合[分享名稱]中參數 public = yes


[分享名稱],這名稱即是在windows的芳鄰看到的分享目錄。

comment = test share  目錄的說明;

path = /test  指的是linux系統內分享的絕對路徑;

public = no  這裡是要不要讓所有的人使用;

printable = no  能不能使用印表機;

browseable = yes  能不能由芳鄰看到分享的外稱;

valid users = ned maggie  可以進入分享目錄的使用者;

writeable = no  進入分享目錄的使用者能不能有寫入權限;

write list = ned  分享目錄使用者中可以有寫入的使用者;

Samba server架好後帳號預設值是空的;
而使用 samba 有個先決條件就是要先有 local user再建 smbuser;

建 smbuser 帳號的命令如下:

smbpasswd -a ned
會出現輸入 password 的畫面;這裡用123

cat /etc/samba/smbpasswd 
檢查看看有沒有成功建好 smbuser,如果沒有就不會有東西;
預設上除了使用者帳號 ned(smbuser)外,其餘為亂碼;

全都準備好了之後可以利用 testparm 測試 smb.conf 有沒有設定上的問題,沒有的話就重啟smb的服務;

利用 client端的工具來測試 samba server;

smbclient -L //localhost 檢查本機的芳鄰分享

smbclient //localhost/分享名稱 -U ned 123
測試直接用帳號登入是否可以成功(可以選直接帶密碼或不帶)

通常建議將分享的目錄權限改為1777;

Linux機器要掛載服務時範例如下:

mount -t cifs //192.168.1.2/分享名稱 /smbdata -o user=ned, password=123

這樣就可以直接掛載了,最後還可以指定 uid=500, file_mode=644(指定權限)

而fstab表中掛載時,檔案格式記得為 cifs ;

//192.168.1.2/分享名稱  /smbdata  cifs  username=ned, password=123  0 0

0 回應: