1. 程式人生 > >Linux下smb搭建

Linux下smb搭建

                    

 

一、安裝Samba服務

yum -y install samba

# 檢視yum源中Samba版本

yum list | grep samba

# 檢視samba的安裝情況

rpm -qa | grep samba

Samba伺服器安裝完之後, 會生成配置檔案目錄/etc/samba, /etc/samba/smb.conf是samba的核心配置檔案.

二、啟動Samba服務

Samba服務安裝完成之後有兩種方法啟動:

service smb start/stop/restart/status

# 或者

systemctl start/stop/restart/status smb.service

 

# 設定smb服務開機啟動

systemctl enable smb.service

三、開放Samba服務使用到的埠號

Samba服務會用到如下的一些埠號:

  • 137(UDP): NetBIOS名字服務
  • 138(UDP): NetBIOS資料報服務
  • 139(TCP): 檔案和列印共享
  • 389(TCP): 用於LDAP
  • 445(TCP): NetBIOS服務在windows 2000及以後使用此埠
  • 901(TCP): 用於SWAT, 網頁管理Samba

如果不想關閉防火牆的話, 就要在CentOS中放開Samba使用到的TCP埠號

firewall-cmd --zone=public -add-port=139/tcp --permanent

firewall-cmd --zone=public -add-port=389/tcp --permanent

firewall-cmd --zone=public -add-port=445/tcp --permanent

firewall-cmd --zone=public -add-port=901/tcp --permanent

 

firewall-cmd --reload

 

# 檢視已經放開的埠號

firewall-cmd --list-all

四、配置Samba服務

1、配置匿名訪問, 任何人都可以訪問的共享目錄

1) 建立共享目錄

mkdir /opt/shares

 

# 因為需要設定匿名使用者可以上傳下載檔案, 所以需要給shares目錄授予nobody許可權

chown -R nobody:nobody /opt/shares

2) 修改/etc/samba/smb.conf檔案

cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

vi /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

        security = user

        map to guest = Bad User

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

 

 

[public]

        comment = Public Stuff

        path = /opt/shares

        public = yes

        read only = No

其中 path就是上邊設定的共享目錄, read only 表示是否有寫許可權

3) 修改完配置檔案之後重啟samba服務

systemctl restart smb.service

4) 測試smb.conf配置是否正確

# 使用testparm命令

testparm

5) 至此就配置完成, 可以從Windows下訪問samba的共享目錄.

2、配置指定使用者可以訪問的共享目錄

設定共享目錄, 只允許指定使用者組的使用者訪問

1) 新增工作組cnki和使用者share

groupadd cnki

# useradd -g 組名 使用者名稱

useradd -g cnki share

# 設定使用者share的密碼

passwd share

 

#刪除使用者

userdel -r 使用者名稱

2) 把要訪問的賬戶新增到samba的賬戶中

光新增系統賬戶還不夠, 需要把已經存在的系統賬戶新增到samba中才可以訪問共享目錄

# smbpasswd 引數: -a: 新增 -x: 刪除 -d: 禁用 -e: 啟用

smbpasswd -a share

3) 建立共享目錄

mkdir /opt/shares1

 

# chown -R 使用者名稱:組名 目錄

chown -R share:cnki /opt/shares1

4) 設定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

        security = user

        map to guest = Bad User

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

 

[shares]

        comment = CNKI

        path = /opt/shares1

        # 表示使用者組

        valid users = @cnki

        read only = No

5) 重啟smb服務

systemctl restart smb.service

# 檢查smb.conf檔案是否配置正確

testparm

6) 至此配置完成, 可以在Windows平臺下通過使用者名稱share/share來訪問共享目錄了.

 

Smb無法啟動問題解決:

 

裡面的 [global] 下面的 security 那裡出問題了,我把上面內容調換了一下:

1

2

security = user

#security = share

 這再啟動SMB伺服器就OK了:

1

systemctl start smb

 

 

Smbclient連線

[[email protected] photo]$ smbclient //13.250.102.143/dlz -U dlz%dlz

Smb賬戶:dlz

Smb密碼:dlz