dnf install samba samba-common samba-client 或 yum install samba samba-common samba-client
安裝samba
我們還必須確保Windows和Linux系統在同一工作組中。因此,轉到Windows PC並啟動命令提示符。輸入命令:
> net config workstation
從輸出中我們可以清楚地看到工作站域指向' WORKGROUP '。稍后將在Linux機器上對其進行配置。
步驟2)配置Samba
安裝了Samba之后,就該進行一些配置了。但是在執行此操作之前,我們需要備份samba配置文件。因此,運行以下命令:
$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
接下來,我們將創建一個名為shared的共享文件夾,並分配必要的權限和所有權,如圖所示。
$ sudo mkdir -p /srv/samba/shared
$ sudo chmod -R 0755 /srv/samba/shared
$ sudo chown -R nobody:nobody /srv/samba/shared
現在創建一個新的samba配置文件
$ sudo vim /etc/samba/smb.conf
修改以下配置:
[global] #全局配置
workgroup = WORKGROUP #與windows工作組同名
server string = Samba Server %v #samba server 名稱及版本
netbios name = centos-8 #在netbios網絡上的名稱
security = user #驗證用戶登錄的方式
map to guest = bad user
[home] #共享文件夾配置 window顯示 'home'為文件夾名稱
path = /srv/samba/shared #centos服務器中共享的文件路徑
browsable =yes #yes 可以瀏覽
writable = yes #可以寫入
guest ok = yes #可以匿名登錄
read only = no #只讀 停用
保存並關閉配置文件。要驗證配置是否正確,請運行testparm命令
步驟3)在防火牆上允許samba服務
接下來,允許Samba穿越防火牆,以便外部用戶可以訪問samba共享。
$ sudo firewall-cmd --add-service=samba --zone=public --permanent $ sudo firewall-cmd --reload
步驟4)啟動並啟用Samba服務
最后,啟動並啟用Samba和nmb服務
$ sudo systemctl start smb $ sudo systemctl enable smb
然后確認smb服務是否正在運行:
$ sudo systemctl status smb
$ sudo systemctl start nmb $ sudo systemctl enable nmb
同樣,確認nmb服務是否正在像smb服務一樣運行:
$ sudo systemctl status nmb
在Samba中創建安全共享
每個人都可以訪問我們剛剛創建的文件共享,任何用戶都可以創建和刪除文件。如果您要共享關鍵文檔,這也將構成挑戰,因為它們也可以被覆蓋或刪除。因此,我們需要創建一個安全的文件共享來應對這一挑戰。
首先,我們將為samba用戶創建一個新組,如下所示:
$ sudo groupadd secure_group
然后我們將一個新用戶添加到新創建的組中
$ sudo useradd -g secure_group linuxuser
接下來,我們將創建一個新的安全文件夾,然后分配必要的權限和文件所有權,如下所示。
$ sudo mkdir -p /srv/samba/secure_share $ sudo chmod -R 0770 /srv/samba/secure_share $ sudo chcon -t samba_share -p /srv/samba/secure_share $ sudo chown -R root:secure_group /srv/samba/secure_share
接下來,我們將為samba用戶分配一個密碼,該密碼將在訪問安全文件共享時使用。這將提示您提供SMP密碼,然后再確認。
$ sudo smbpasswd -a linuxuser
現在讓我們回到Samba的配置文件
$ sudo vim /etc/samba/smb.conf
附加如下所示的配置行:
[secured] path = /srv/samba/secure_share valid users = @secure_group guest ok = no writable = yes browsable = yes
保存並退出,然后重新啟動Samba服務
$ sudo systemctl restart samba
+++++++++++++++從Linux機器訪問Samba安全文件夾++++++++++++++++++++++
要從Linux系統訪問共享目錄,只需運行以下命令:
$ smbclient --user=linuxuser -L //192.168.43.13
在提示時提供密碼,然后按Enter
訪問安全共享運行
$ smbclient //192.168.43.13/secured -U linuxuser
隨意創建文件和目錄以與其他samba用戶共享。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1、檢查文件夾及配置文件,是否設置錯誤,文件夾名是否寫錯?
2、 檢查共享文件列表
smbclient -L //192.168.221.129/
使用pdbedit -L 命令查看用戶是否加入samba服務器?
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
如果用windows訪問samba,跳出以下對話框的錯誤:
無法訪問。您可能沒有權限使用網絡資源。請與這台服務器的管理員聯系以查明您是否有訪問權限。
不允許一個用戶使用一個以上用戶名與一個服務器或共享資源的多重連接。中斷與此服務器或共享資源的所有連接,然后再試一次……或者直接重啟Windows。
怎么斷開連接(即退出Samba服務器)呢?
在Windows的命令行中輸入:
net use * /delete /y
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
linux centos 服務器上文件夾的所有者必須是共享用戶名和用戶組。不能是root
ls -al #查看權限及所有者
chown -R jf:jifang /home/samba/shared #更改所有者和用戶組