samba服務設置與訪問共享文件夾
- linux設置文件夾共享
- windows連接共享文件夾(運行->//IP/route)
- linux連接共享文件夾
1、基本服務安裝與配置
- linux環境下文件夾的共享是可以由samba提供這項服務,所以首先需要安裝samba
yum install samba samba-client
- 安裝完成后,samba服務並未運行,要么手動啟動服務,要么重啟計算機。
- 查找Samba服務名稱並啟動服務
rpm -ql samba | grep serivce
systemctl start smb.service
systemctl start nmb.service
- 啟動samba服務后確定端口
nestat -atunp | grep '[sn]mb'
- 確定samba運行時需要的端口為139/445(tcp)、137/138(udp),將這些端口全部放開
firewall-cmd --zone=public --add-port=139/tcp --permanent
firewall-cmd --zone=public --add-port=445/tcp --permanent
firewall-cmd --zone=public --add-port=137/udp --permanent
firewall-cmd --zone=public --add-port=138/udp --permanent
firewall-cmd --reload
2、配置共享文件夾
- 編輯samba的配置文件/etc/samba/smb.conf,設置/root/java為共享文件夾,如下:
[global] #全局samba服務器全局設置,對整個服務器有效
workgroup = WORKGROUP #設置samba server需要加入的工作組或者域,當設置為WORKGROUP時,可以在網上共享鄰居看到。
security = user #安全驗證方式,share|user|server|domain,默認為user(需要提供用戶名和密碼,並由samba服務驗證)
passdb backend = tdbsam #用戶后台,smbpasswd|tdbsam|ldapsam,tdbsam:使用一個數據庫文件來建立用戶數據庫(passdb.tdb),默認在/etc/samba目錄下。passdb.tdb用戶數據庫可以使用smbpasswd –a來建立Samba用戶,不過要建立的Samba用戶必須先是系統用戶。也可以使用pdbedit命令來建立Samba賬戶。
printing = cups #打印機類型
printcap name = cups #指定打印機配置文件
load printers = yes #是否在開啟 samba server 時即共享打印機。
cups options = raw
#########################共享文件夾的定義#####################################################
[homes] #共享名稱(特殊的,用戶家目錄。默認設置)
comment = Home Directories
valid users = %S, %D%w%S #%S:當前服務名(如果存在), %D:當前用戶所屬域或工作組名稱,
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 = @printadmin root
force group = @printadmin
create mask = 0664
directory mask = 0775
#自定義共享文件夾
[java] #共享名稱,即客戶端訪問Samba服務器時瀏覽到的目錄名,該名稱不要求與本地目錄名相同,但在當前Samba服務器必須唯一。如Windows訪問共享文件夾時:\\ip\共享名稱
comment = share all #提示信息,任意
path = /root/java #需要被共享的目錄
browseable = yes #是yes/否no,在瀏覽資源中顯示共享目錄,若為否則必須指定共享路徑才能存取
writeable = yes #允許寫入
- 配置文件修改完成后,重啟samba服務后生效。
systemctl restart smb.service
- 添加samba用戶,才能在user的安全模式下訪問,注意:samba不使用系統的用戶和密碼
smbpasswd -a root //映射系統用戶到samba,並為該用戶在samba服務中設置密碼。
3、客戶端訪問共享文件夾
- linux訪問共享文件夾,以掛載到本地的方式訪問
#掛載
mount -t cifs -o username="root",password="sambapasswd" //ip/共享名稱 掛載目錄
#卸載
umount 掛載目錄
- 直接訪問共享目錄
#前提:安裝samba-client
smbclient -L //ip -U 用戶名 #查看該用戶在目的地址上可訪問的共享文件夾
smbclient //ip/共享名稱 -U 用戶名
- windows訪問
略
4、客戶端訪問錯誤處理
- windows訪問報錯“不允許一個用戶使用一個以上用戶名與一個服務器或共享資源的多重連接 ”
1、cmd->net use 查看網絡連接狀況,找到關於共享文件夾的連接(遠程名為 訪問共享文件夾的地址)
2、刪除:net use \ip\共享名 /del
- windows訪問報錯:沒有訪問權限
vim /etc/sysconfig/selinux
->SELINUX=disabled