1. 程式人生 > >linux搭建smb、掛載smb、Windows共享

linux搭建smb、掛載smb、Windows共享

不同 遠程主機 共享 log map 提示 添加 global smb

實現Linux系統之間共享文件資源以及在Linux系統與Windows系統之間共享文件

Samba軟件包的構成

  • 服務端:samba
  • 客戶端:samba-client
  • 公共組件:samba-common
  • Smbd:負責為客戶機提供服務器中共享資源(目錄和文件)的訪問,監聽139端口(smb協議),445端口(cifs協議)
  • Nmbd:負責提供基於netblos協議的主機名稱解析,以便為windows網絡中的主機進行查詢服務,監聽137-138端口(netblos協議)

Samba服務的程序組件

主配置文件路徑

/etc/samba/smb.conf 

配置文件參數解釋

[global]

#全局參數。

workgroup = MYGROUP

#工作組名稱

server string = Samba Server Version %v

#服務器介紹信息,參數%v為顯示

SMB版本號

log file = /var/log/samba/log.%m

#定義日誌文件的存放位置與名稱,

參數%m為來訪的主機名

max log size = 50

#定義日誌文件的最大容量為50KB

security = user

#安全驗證的方式,總共有4種

#share:來訪主機無需驗證口令;比較方便,但安全性很差,7.0以上系統不支持share,

使用user模式,map to guest=bad user代替

#user:需驗證來訪主機提供的口令後才可以訪問;提升了安全性

#server:使用獨立的遠程主機驗證來訪主機提供的口令(集中管理賬戶)

#domain:使用域控制器進行身份驗證

passdb backend = tdbsam

#定義用戶後臺的類型,共有3種

#smbpasswd:使用smbpasswd命令為系統用戶設置Samba服務程序的密碼

#tdbsam:創建數據庫文件並使用pdbedit命令建立Samba服務程序的用戶

#ldapsam:基於LDAP服務進行賬戶驗證

load printers = yes

#設置在Samba服務啟動時是否共享

打印機設備

cups options = raw

#打印機的選項

[homes]

#共享參數

comment = Home Directories

#描述信息

browseable = no

#指定共享信息是否在“網上鄰居”中可見

writable = yes

#定義是否可以執行寫入操作,

與“read only”相反

[printers]

#打印機共享參數

comment = All Printers

path = /var/spool/samba

#共享文件的實際路徑(重要)。

browseable = no

#網絡發現是否可見

guest ok = no

#是否所有人可見,等同於"public"參數。

writable = no

#是否允許寫入

printable = yes

u 部署samba服務

匿名方式訪問

準備環境

setenforce 0                      //關閉selinux
systemctl stop firewalld          //關閉防火墻

1.搭建本地yum源。

2.使用yum方式安裝samba服務程序

yum install -y samba*             //yum方式安裝samba服務
  1. 創建共享的目錄
  2. 編輯主配置文件設置匿名共享,設置共享目錄
  3. 重啟服務,使用windos訪問驗證,無法訪問請檢查iptable 防火墻
mkdir -p /var/public              //創建要共享目錄
vim /etc/samba/smb.conf                   //編輯samba主配置文件
------------------添加或者修改紅色部分的參數-----------------
[global]
        workgroup = SAMBA
        security = user            //7.0以下系統將user改為share
        passdb backend = tdbsam
        map to guest = bad user            //7.0以上匿名訪問必加
[public]                                  //共享目錄名稱
        comment = public                  //共享描述
        path = /var/public                //共享目錄路徑
        guest ok = yes                     //共享目錄是否所有人可見
        read only = yes                    //是否只讀
        browseable = yes                   //網絡發現是否可見
systemctl restart smb                     //重啟samba服務

用戶驗證的共享

案例:創建一個共享目錄/var/yonghu/,只有zhangsan和lisi可以訪問共享,只有zhangsan有可以寫入的權限

註意:創建共享用戶前需要有對應的系統用戶

  1. 創建共享用戶zhangsan、lisi,創建共享的目錄
  2. 修改smb配置文件,設置共享目錄
Useradd zhangsan          //創建系統用戶zhangsan
Useradd lisi              //創建系統用戶lisi
Pdbedit -a -u zhangsan     //創建共享用戶zhangsan,-a添加-u指定用戶
Pdbedit -a -u lisi         //創建共享用戶lisi,-a添加-u指定用戶
Mkdir /var/yonghu         //創建共享目錄
vim /etc/samba/smb.conf           //編輯samba主配置文件
------------------添加或修改紅色部分參數-------------------
[global]
        workgroup = MYGROUP
        security = user
        passdb backend = tdbsam
        map to guest = bad user    //匿名訪問必加,否則需要密碼
[public]
        comment = public
        path = /var/public
        guest ok = yes
[yonghu]                          //共享目錄名稱
        comment = yonghu           //描述
        path = /var/yonghu         //共享目錄路徑
        public = no        //是否所有人可見
        read only = yes            //是否只讀
        valid users = zhangsan,lisi       //哪些用戶可以訪問
        write list = zhangsan      //哪些用戶可以寫入,組加“@組名”
        directory mask = 0755      //用戶上傳目錄權限為755
        create mask = 0644         //用戶上傳文件權限為644

3.給予共享目錄777權限

Chmod -R 777 /var/yonghu          //更改共享目錄的權限為777

4.重啟smb服務驗證權限

systemctl restart smb             //重啟samba服務

windows清除smb的連接會話

net use                           //查看連接會話
net use * /del                    //清除連接會話
用戶映射的共享(安全性高)

正常情況下,一個共享賬號都有一個同名的系統賬號很不安全,可以使用映射的方式,將一個共享用戶映射為多個不同的名稱(別名),只需要通過共享用戶的別名和密碼就能訪問資源了,而不需要知道真正的共享用戶(系統用戶)名稱

默認的共享賬號映射文件位於:/etc/samba/smbusers

啟用映射功能,需要修改主配置文件,在全局配置加入:

username map=/etc/samba/smbusers

重啟服務即可生效

訪問地址限制

在global或者配置裏面添加hosts allow或者hosts deny即可

Hosts allow = 192.168.2.  172.16.      //允許192.168.2.0,172.16.0.0網段訪問
Hosts deny = 192.168.3.  172.14.      //拒絕192.168.3.0,172.14.0.0網段訪問

使用smbclient訪問共享

查詢共享資源列表

smbclient -L 192.168.2.162 -U administrator

匿名訪問共享文件夾

smbclient //192.168.2.223/public

使用用戶名、別名訪問共享

smbclient -U ls //192.168.2.223/zhangsan

掛載共享目錄

Linux下掛載samba共享目錄

1.使用yum安裝cifs-utils工具
yum install -y cifs-utils                 //yum安裝cifs-utils工具
2.使用smbclient工具查詢共享目錄
smbclient -L 192.168.2.224                //查詢2.224的共享目錄
匿名掛載方法
mount.cifs //192.168.2.223/public /ceshi
                          //將public目錄掛載到本地ceshi目錄
指定用戶掛載
mount.cifs //192.168.2.223/yonghu /ceshi/ -o username=zhangsan,password=aaa
           //將yonghu目錄掛載到本地ceshi目錄,指定用戶名zhangsan

Linux下掛載windos共享目錄

1.使用smbclient工具查詢共享目錄
smbclient -L 192.168.2.224                //查詢2.224的共享目錄
2.掛載windos共享目錄
  ①mount -t cifs -o username=administrator,password=123 //192.168.2.162/d /ceshi/                 //將d盤掛載到本地的ceshi目錄
  ②mount -t cifs -o username=administrator,password=666,vers=2.0 //192.168.9.1/test /media/windows
smb常見故障

註意:如果windows無法訪問,先使用其他客戶端或者linux測試是否能訪問,然後在排除故障

1.win7訪問Linux Samba的共享目錄提示“登錄失敗:用戶名或密碼錯誤”解決方法:

單擊”開始“-“運行”,輸入secpol.msc,打開“本地安全策略”,在本地安全策略窗口中依次打開“本地策略”-->“安全選項”,然後再右側的列表中找到“網絡安全:LAN管理器身份驗證級別”,把這個選項的值改為“發送 LM 和 NTLM – 如果已協商,則使用 NTLMv2會話安全”,最後應用確定,然後重新連接測試

linux搭建smb、掛載smb、Windows共享