CentOS 7設置Samba共享目錄

一、安裝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) 添加工作組test和用戶share

groupadd test
# useradd -g 組名 用戶名
useradd -g test 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:test /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 = TEST
        path = /opt/shares1
        # 表示用戶組
        valid users = @test
        read only = No

5) 重啓smb服務

systemctl restart smb.service
# 檢查smb.conf文件是否配置正確
testparm

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

7)如果不能訪問,查看防火牆是否關閉:service firewalld stop,並把selinux安全去掉.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章