前言
Samba是在Linux系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。 SMB(Server Messages Block, 信息服務塊)是一種在局域網上共享文件和打印機的一種通信協議, 它為局域網內的不同計算機之間提供文件及打印機等資源的共享服務。 SMB協議是客戶機/服務器型協議,客戶機通過該協議可以訪問服務器上的共享文件系統,打印機及其他資源。
比如我想共享/home/samba這個文件夾給其他計算機使用。
安裝samba
創建samba用戶
修改samba配置
配置文件是/etc/samba/smb.conf
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.
[global]
workgroup = SAMBA #samba的工作組,設置成 Windows 的工作組
security = user #安全選項,可以是 share|user|server|domain,安全級別遞增
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[homes] #共享默認會將用戶的主目錄共享 , 這是不安全的 , 可以將其注釋
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[printers] #打印機共享
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = root
create mask = 0664
directory mask = 0775
[rootdir] #自定義的共享文件夾
comment = SambaRoot
path = /home/samba/ #共享的路徑
read only = No
注意,自己修改時去掉 # 后面的備注
添加 Samba 用戶
添加剛剛創建的samba用戶,根據提示設置相應的密碼
smbpasswd 命令是用于維護 Samba 服務器的用戶帳號的,具體如下:
// 添加 Samba 用戶帳號
# smbpasswd -a sambauser
// 禁用 Samba 用戶帳號
# smbpasswd -d sambauser
// 啟用 Samba 用戶帳號
# smbpasswd -e sambauser
// 刪除 Samba 用戶帳號
# smbpasswd -x sambauser
啟動 Samba 服務
啟動、停止、查看相關命令
systemctl start smb
systemctl stop smb
systemctl status smb
Windows 訪問共享目錄
直接 Win + R , 在運行界面輸入 \192.168.1.20, 也就是你的 Linux 主機地址,會彈出用戶名密碼輸入界面, 輸入剛剛設置的用戶名密碼就可以訪問。
常見問題
如果 Windows 下訪問 Linux 下共享目錄 , 提示沒有權限
- 確保 Linux 下防火墻關閉或者是開放共享目錄權限
- 確保 Samba 服務器配置文件 smb.conf 設置沒有問題
- 確保 setlinux 關閉 , 可以用 setenforce 0 命令執行; 默認 SELinux 禁止網絡上對 Samba 服務器上的共享目錄進行寫操作
Samb 還需要開放下面四個端口
UDP 137、UDP 138、TCP 139、TCP 445
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。