天天看點

SAMBA的配置及故障排除SAMBA安裝及配置故障排除

SAMBA的配置及故障排除

  • SAMBA
    • 功能:
    • 特點:
    • 配置檔案路徑:
    • SAMBA服務分類
    • 端口和協定
  • 安裝及配置
      • 設定單獨的目錄指定某個使用者通路
      • 生産環境配置
        • 部署應用
          • 建構lvm:
          • 挂在分區
          • 配置samba:
          • 添加samba使用者,并将家目錄設定為要共享的檔案夾
          • 設定目錄通路權限
          • 維護:
      • 匿名通路(基本不用)
  • 故障排除

SAMBA

功能:

實作linux和windows之間跨平台共享的工具,實作區域網路内的共享,公司内網的更新和備份

共享伺服器。windows共享。

特點:

不需要下載下傳檔案,可以直接在伺服器上編輯檔案

配置檔案路徑:

vim /etc/samba/smb.conf

SAMBA服務分類

匿名通路:

使用者名和密碼通路

設定單獨的目錄指定某個使用者通路

端口和協定

TCP 139

TCP 445

安裝及配置

(安裝前檢查防火牆,selinux ,setenforce 0 是否關閉)

**安裝服務端和用戶端:**yum install samba samba-client samba-common -y

samba-common 包含一些指令

伺服器端 建立需要通路的檔案夾(不同部門建立不同的檔案夾)

設定單獨的目錄指定某個使用者通路

建立兩個共享目錄

mkdir /test/samba

mkdir /test/sale

建立samba的通路使用者

useradd smb1

useradd smb2

指定組建立使用者smb3 ,smb3跟smb2是一個組

useradd -g smb2 smb3

建立密碼:

smbpasswd -a smb1

smbpasswd -a smb2

smbpasswd -a smb3

修改配置檔案

smbshare隻給smb1使用者通路的權限
[smbshare]      表示ip通路時候的路徑
    comment = Samba Share     #描述
    path = /test/samba		  #共享的目錄
    browseable = no			  #是否可以預覽目錄檔案
    public = no				  #是否公開,如果是yes也可以注釋掉
    writable = yes			  #是否可以寫入
    valid users = smb1		  #設定通路的使用者
 
 sale隻給smb2使用者通路的權限
[sale]
    comment = Samba Share
    path = /test/sale
    browseable = no
    #public = no    
    writable = yes
    valid users = smb2	
    如果不需要對檔案夾進行限制,隻要把valid users = 删除掉即可
    valid users = smbuser1 smbuser2   可以設定多個使用者,用空格分開
    valid users = @smbuser2           @組名  表示限制組的使用者通路
           

對共享目錄的權限設定

read list = smbuser2    //隻讀

誰可寫,誰隻讀
writable =yes  //可寫
read list = user或者group   


read only = yes   //隻讀
write list = user或者group
   
invalid users = user或者group      禁止通路共享目錄的使用者或者組 
           

啟動服務:

systemctl start smb 啟動smb服務

systemctl enable smb 開機啟動

生産環境配置

功能:

共享伺服器。windows共享。

應用:

可以在windows上,使用共享檔案夾,像用本地的儲存設備一樣。

依賴區域網路帶寬。

百兆 --> 千兆

需求:

研發部

内部同僚

開發

測試

美工

其他部門

行政

人事

财務

銷售

需求的郵件或工單:

空間需求

開發-java 50G

測試 100G

美工 300G

行政 150G

人事 200G

财務 50G

如果不夠,可以擴充。

通路需求

直接可以在windows資料總管使用

隻允許部門内部人員通路,其他人任何權限都沒有

使用的賬号、密碼會提供

申請一個伺服器

硬碟 4塊 2塊做系統–160G 2塊做存儲–2T raid1

2塊 系統和存儲 2T raid1

安裝作業系統–centos7

部署應用

建構lvm:
建構可擴充的lvm分區,指定為xfs檔案格式
[[email protected] ~]# pvcreate /dev/sdb
[[email protected] ~]# vgcreate samba /dev/sdb
[[email protected] ~]# lvcreate -L 5G -n java samba
[[email protected] ~]# lvcreate -L 10G -n test samba
[[email protected] ~]# lvcreate -L 30G -n art samba
[[email protected] ~]# lvcreate -L 15G -n admin samba
[[email protected] ~]# lvcreate -L 20G -n hr samba
[[email protected] ~]# lvcreate -L 5G -n sar samba

mkfs.xfs /dev/samba/java
mkfs.xfs /dev/samba/test
mkfs.xfs /dev/samba/art
mkfs.xfs /dev/samba/admin
mkfs.xfs /dev/samba/hr
mkfs.xfs /dev/samba/sar
           
挂在分區
[[email protected] ~]# mkdir -p /samba/{java,test,art,admin,hr,sar}

[[email protected] ~]# vim /etc/fstab 
/dev/mapper/samba-java	/samba/java	xfs	defaults	0 0
/dev/mapper/samba-test	/samba/test	xfs	defaults	0 0
/dev/mapper/samba-art	/samba/art	xfs	defaults	0 0
/dev/mapper/samba-admin	/samba/admin	xfs	defaults	0 0
/dev/mapper/samba-hr	/samba/hr	xfs	defaults	0 0
/dev/mapper/samba-sar	/samba/sar	xfs	defaults	0 0

[[email protected] ~]# mount -a
[[email protected] ~]# df -h | tail -6
/dev/mapper/samba-java   5.0G   33M  5.0G   1% /samba/java
/dev/mapper/samba-test    10G   33M   10G   1% /samba/test
/dev/mapper/samba-art     30G   33M   30G   1% /samba/art
/dev/mapper/samba-admin   15G   33M   15G   1% /samba/admin
/dev/mapper/samba-hr      20G   33M   20G   1% /samba/hr
/dev/mapper/samba-sar    5.0G   33M  5.0G   1% /samba/sar
           
配置samba:

安裝samba服務

分部門進行samba配置檔案設定

[[email protected] /etc/samba]# cp smb.conf smb.conf.java
[[email protected] /etc/samba]# cp smb.conf smb.conf.test
[[email protected] /etc/samba]# cp smb.conf smb.conf.art
[[email protected] /etc/samba]# cp smb.conf smb.conf.admin
[[email protected] /etc/samba]# cp smb.conf smb.conf.hr
[[email protected] /etc/samba]# cp smb.conf smb.conf.sar

[[email protected] /etc/samba]# vim smb.conf
	主配置檔案不改

[[email protected] /etc/samba]# vim smb.conf.java
	結尾添加
[java]
    comment = java's share dir
    path = /samba/java
    write list = java
    create mask = 0664
    directory mask = 0775
[[email protected] /etc/samba]# vim smb.conf.test
	結尾添加
[test]
    comment = test's share dir
    path = /samba/test
    write list = test
    create mask = 0664
    directory mask = 0775

其他的,操作相同
           
添加samba使用者,并将家目錄設定為要共享的檔案夾
[[email protected] ~]# useradd java -d /samba/java
[[email protected] ~]# useradd test -d /samba/test
[[email protected] ~]# useradd art	 -d /samba/art
[[email protected] ~]# useradd admin -d /samba/admin
[[email protected] ~]# useradd hr   -d /samba/hr
[[email protected] ~]# useradd sar  -d /samba/sar

vim建立一個密碼檔案
[[email protected] ~]# cat pass 
123456
123456

用非互動方式設定samba使用者,導入密碼
[[email protected] ~]# smbpasswd -s -a java < pass 
Added user java.
[[email protected] ~]# smbpasswd -s -a test < pass 
Added user test.
[[email protected] ~]# smbpasswd -s -a art < pass 
Added user art.
[[email protected] ~]# smbpasswd -s -a admin < pass 
Added user admin.
[[email protected] ~]# smbpasswd -s -a hr < pass 
Added user hr.
[[email protected] ~]# smbpasswd -s -a sar < pass 
Added user sar.

檢視samba使用者清單
[[email protected] ~]# pdbedit -L
java:1000:
art:1002:
hr:1004:
test:1001:
admin:1003:
sar:1005:
           
設定目錄通路權限

給檔案夾設定對應的使用者,組的權限

[[email protected] /samba]# chown java:java java/
[[email protected] /samba]# chown test:test test/
[[email protected] /samba]# chown art:art   art/
[[email protected] /samba]# chown admin"admin admin/
[[email protected] /samba]# chown hr:hr 	 hr/
[[email protected] /samba]# chown sar:sar 	 sar/

[[email protected] ~]# systemctl start smb
[[email protected] ~]# systemctl enable smb
           
維護:

删除windows儲存的使用者憑據:

控制台 --> 使用者管理 --> 憑據管理器 --> 删除即可

删除windows儲存的使用者密碼資訊:

指令提示符 -->

net use * /del

Y

等待幾分鐘就可以了

在 我的電腦 資料總管 添加網絡位置

實作共享檔案夾直接儲存下來,可以通路

匿名通路(基本不用)

匿名通路的安全性較低,是以不建議配置

在global全局配置裡添加如下

map to guest = Bad User 匿名通路

故障排除

1.session setup failed: NT_STATUS_LOGON_FAILURE

該錯誤表示使用者有誤, 可能是使用者不存在, 也有可能是密碼錯誤, 或者使用者隻是在samba和系統的使用者中的一個地方存在,

總之是使用者和密碼有問題

  1. tree connect failed: NT_STATUS_BAD_NETWORK_NAME

    這個錯誤則表示共享目錄有誤, 可能是目錄不存在, 或者權限不對

    我的情況是這樣的. 我有一個明為xiaowang的使用者, 在xiaowang的主目錄下我建立了一個share目錄,

    并且吧share添加到smb.conf中成為一個共享目錄myshare, 但是我有指定該共享目錄的有效使用者為guest(也是系統中的一個使用者),

    結果guest沒有通路xiaowang主目錄下的檔案的權限. 現在我把share目錄健在home下就好使了.

windows通路提示這個

SAMBA的配置及故障排除SAMBA安裝及配置故障排除

這種一般是windows本地已經有了其它的通路記錄

解決方法如下:

在window指令行cmd—輸入指令 net use 檢視記錄

清除所有通路的記錄 指令 net use * /del /y

在重新操作就可以重新輸入使用者密碼通路了

windows無法通路samba,linux可以通路samba.

同樣是windows本地政策的問題,進入系統資料庫

解決方法:

1、本地安全政策,本地政策-安全選項,需要修改成預設的值的修改方式:

查找系統資料庫浏覽到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA

直接删除 LMCompatibilityLevel 鍵。确定删除後。

2、運作secpol.msc指令。打開本地安全政策。

3、檢視 網絡安全:LAN管理員身份驗證級别,安全設定已經變為預設“沒有定義”

修改後發現輸入賬戶密碼就可以直接通路了。

擴充

這是我的配置 大家一看就知道我的需求了,

使用者 design01 design02 為design 組

使用者 project01 project02為project組

我想讓design01 02 擁有本身自己的宿主目錄同僚都可以通路公共目錄 /workspace/samba/design

peoject同理

可現在 peoject design兩個目錄 可以被所有使用者看到 不過進入時候沒有權限 需要輸入密碼?

請問大家我哪裡配置的有錯誤

編輯/etc/samba/smb.conf

在[global]

加入hide unreadable=yes #對無read權限的使用者隐藏

或者hide unwriteable=yes #對無write權限的使用者隐藏

重新開機samba,OK

參考

pdbedit -L 檢視samba使用者清單

smbpasswd -a 使用者名 添加samba使用者并設定samba密碼

smbpasswd -x 使用者名 删除samba使用者

關于samba的詳細參數解釋

繼續閱讀