Samba檔案服務器
要將Samba配置為作為作業組成員來提供SMB檔案共享需執行以下基本步驟:
-
安裝Samba軟體包
-
準備要共享的目錄的權限
-
配置/etc/samba/smb.conf檔案
-
使用NTLMv2密碼設定相應的Linux用戶
NTLM = WindowsNT LAN Manager = WindowsNT挑戰/回應驗證機制
-
啟動Samba并打開本地防火墻
-
驗證是否可以從客戶端掛載共享
安裝Samba
安裝samba軟體包,它是服務端的軟體包
yum install samba -y
準備要共享的目錄
如果某個目錄本身便是NFS匯出或者掛載的NFS檔案系統,請勿使用Samba來共享此目錄,這可能導致檔案損壞、檔案鎖過時或共享方面的其他檔案訪問問題,
mkdir -p /pro/public_test ##-p 遞回創建,如果前面的目錄不存在,則遞回創建;如果存在也沒關系
配置/etc/samba/smb.conf
Samba的主組態檔是/etc/samba/smb.conf
此檔案分為多個節,每節以節名稱(括在方括號中)開頭,后面是設定為特定值的引數的串列,任何以分號或井號字符開頭的行都將被注釋掉,
[global]節
- workgroup: 用于指定服務器的Windows作業組
- security: 控制Samba對客戶端進行身份驗證的方式,centos6之前可用值有share、user、server、domain,centos7之后不再支持share,如果配置匿名共享時,需要在全域引數中添加 “map to guest = bad user”這一行內容
- passwd backend:設定共享賬戶檔案的型別,默認使用tdbsam(TDB資料庫檔案)
- hosts allow:是允許訪問Samba服務的主機串列(以逗號、空格或制表符分割),如果未指定, 則所有主機均可訪問Samba,如果[global]節中未指定此設定,則可以單獨在每個共享中設定,如 果在[global]節中指定,將適用于所有共享,無論每個共享是否具有不同的設定,設定形式多樣:
- 172.25.0.0/24
- 172.25.0.0/255.255.255.0
- 172.25.
- 172.25.0.
- [2001:db8:0:1::/64]
- desktop.example.com
- example.com
[homes]節
定義了一個默認啟用的特殊檔案共享,即共享了用戶家目錄.
[printers]節
列印機共享設定:若需要共享列印機設備,可以在這部分進行配置,
檔案共享節
[name] # 自定義共享名
comment = Home Directories # 描述符,是給系統管理員看的
path = /home/kevin # 共享的路徑
public = yes # 是否公開,也就是是否能在網上鄰居看到該共享
browseable = yes # 共享的目錄是否讓所有人可見
writable = yes # 是否可寫
guest ok = no # 是否拒絕匿名訪問,僅當安全級別為 share 時才生效
workgroup = WORKGROUP # 作業組,要設定成跟 Windows 的作業組一致
server string = Samba Server Version %v # 其他 Linux 主機查看共享時的提示符
netbios name = MYSERVER # 用于在 Windows 網上鄰居上顯示的主機名
使用testparm命令,可以測驗語法是否錯誤;不用帶任何引數,
準備Samba用戶
useradd -s /sbin/nologin aaa ##用戶名為aaa的samba用戶
#包含smbpasswd命令
yum install samba-client -y
#設定samba用戶的密碼
smbpasswd -a aaa
smbpasswd的引數:
-a : 添加Samba用戶
-x :洗掉Samba用戶和密碼
-d :禁用Samba用戶
-e :啟用Samba用戶
# pdbedt比smbpasswd更強大的工具
# pdbedit -L 查看所有Samba用戶
關閉SELINUX
啟用Samba
##Samba依賴兩個服務:smbd nmbd
smbd:通常使用TCP 445埠進行SMB連接,為了向后兼容,還偵聽TCP 139埠
nmbd: 使用UDP 137和138埠,提供基于NetBIOS名稱決議
##開啟服務并設定開機自啟
systemctl start smb nmb
systemctl enable smb nmb
netstat -antp|egrep '(445|139)'
netstat -anup|egrep '(137|138)'
##設定防火墻
firewall-cmd --add-service=samba --permanent ##--permanent 永久設定
firewall-cmd --reload
掛載SMB檔案系統
yum install samba-client cifs-utils -y
##cifs-utils 軟體包可用于在本地系統上掛載SMB檔案共享
常規SMB掛載
https://www.runoob.com/linux/linux-comm-smbclient.html smbclient命令決議
## 列出服務器上共享的目錄
smbclient -L //192.168.142.128 -U aaa
## smbclient命令也可以登錄服務器的共享目錄f(類似于ftp的登錄方式)
smbclient //192.168.142.128/public_test -U aaa
## 掛載使用
mount -o username=aaa //192.168.142.128/public_test /pro/public
Password for aaa@//192.168.142.128/public_test: ******
使用Samba的多用戶掛載
###服務端###
#配置服務器上可讀寫用戶bbb
useradd -s /sbin/nologin bbb
#創建smb密碼
smbpasswd -a bbb
###增加bbb路徑權限
setfacl -m u:bbb:rwx /pro/public
##編輯組態檔增加
valid users = aaa,bbb
write list = bbb
## 重啟服務
systemctl restart smb nmb
###客戶端進行測驗###
##重新掛載
mount -o multiuser,sec=ntlmssp,username=fred,password=000000 //192.168.142.128/public_test /mnt/
df -h
#永久掛載 vim /etc/fstab
//192.168.142.128/public_test /pro/public cifs defaults,multiuser,username=bbb,password=123456,sec=ntlmssp 0 0
# 需要命令cifscreds以將身份驗證憑據存盤在本地用戶的密鑰環中,這些身份驗證憑據將轉發到多用戶掛載上的Samba服務器,cifs-utils軟體包提供cifscreds命令,客戶端系統上需要安裝,
# cifscreds 命令具有各種操作
# add:可向用戶的會話密鑰環中添加SMB憑證,此選項后跟SMB檔案服務器的主機名
# update:可更新用戶的會話密鑰環中的現有憑據,此選項后跟SMB檔案服務器的主機名
# clear:可從用戶的會話密鑰環中洗掉特定條目,此選項后跟Samba檔案服務器的主機名
# clearall:可從用戶的會話密鑰環中清除所有現有憑據,
su - bbb
cifscreds add 192.168.142.128
Password:
cd /pro/public
ll

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/229966.html
標籤:其他
下一篇:cgb2008-京淘day08
