天天看點

CentOS 7設定Samba共享目錄

1. 安裝Samba服務

yum -y install samba
# 檢視yum源中Samba版本
yum list | grep samba
# 檢視samba的安裝情況
rpm -qa | grep samba      

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

2. 啟動Samba服務

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

service smb start/stop/restart/status
# 或者
systemctl start/stop/restart/status smb.service

# 設定smb服務開機啟動
systemctl enable smb.service      

3. 開放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      

4. 配置Samba服務

配置匿名通路, 任何人都可以通路的共享目錄

  1. 建立共享目錄
mkdir /opt/shares

# 因為需要設定匿名使用者可以上傳下載下傳檔案, 是以需要給shares目錄授予nobody權限
chown -R nobody:nobody /opt/shares
           
  1. 修改/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 表示是否有寫權限

  1. 修改完配置檔案之後重新開機samba服務
systemctl restart smb.service      
  1. 測試smb.conf配置是否正确
# 使用testparm指令
testparm      
  1. 至此就配置完成, 可以從Windows下通路samba的共享目錄.

配置指定使用者可以通路的共享目錄

設定共享目錄, 隻允許指定使用者組的使用者通路

  1. 添加工作組cnki和使用者share
groupadd cnki
# useradd -g 組名 使用者名
useradd -g cnki share
# 設定使用者share的密碼
passwd share

#删除使用者
userdel -r 使用者名      
  1. 把要通路的賬戶添加到samba的賬戶中

光添加系統賬戶還不夠, 需要把已經存在的系統賬戶添加到samba中才可以通路共享目錄

# smbpasswd 參數: -a: 添加 -x: 删除 -d: 禁用 -e: 啟用
smbpasswd -a share      
  1. 建立共享目錄
mkdir /opt/shares1

# chown -R 使用者名:組名 目錄
chown -R share:cnki /opt/shares1      
  1. 設定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      
  1. 重新開機smb服務
systemctl restart smb.service
# 檢查smb.conf檔案是否配置正确
testparm      
  1. 至此配置完成, 可以在Windows平台下通過使用者名share/share來通路共享目錄了.