推薦局域網內使用 不推薦遠程服務器
一、安裝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安全去掉.
?