Windows和Linux系统的结构不同,两者之间的和平共存通常是一个挑战。多亏了Samba,这两个系统现在可以通过网络共享文件和文件夹。
那么Samba是什么?Samba是一种免费和开放源代码协议,它允许文件以简单,无缝的方式在两个系统之间共享。您可以在Linux服务器上拥有Samba服务器,该服务器托管Windows客户端可以访问的各种文件和文件夹。在本教程中,您将学习如何在CentOS 8上安装和配置最新版本的Samba。您还将学习如何使用samba从CentOS 8系统到Windows系统共享文件夹。
步骤1)安装samba和必要的软件包
登录服务器并运行以下命令以安装Samba及其依赖项。
sudo dnf install samba samba-common samba-client
启动服务和设置开机启动
#查看服务状态
systemctl status smb.service
#启动服务
systemctl start smb.service
#设置开机启动
systemctl enable smb.service
步骤2) 添加 samba 用户
adduser username
smbpasswd -a username
也可以直接使用系统普通用户
则直接使用
smbpasswd -a username
设定密码
步骤3) samba基本配置
备份模版配置文件
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
添加一个共享目录
[webstation]
path = /home/webstation
valid users = @webstation
guest ok = no
writable = yes
browsable = yes
注释:
path实际路径位/home/webstation
valid users 允许的用户
测试配置
testparm
您应该看到以下输出:
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
# Global parameters
[global]
dns proxy = No
map to guest = Bad User
netbios name = SAMBA-SERVER
security = USER
server string = Samba Server %v
idmap config * : backend = tdb
[webstaiton]
guest ok = Yes
path = /samba/share/public
read only = No
配置SELinux和防火墙
如果能访问服务器,某些配置的共享文件夹不能访问,可能是 SELinux 的问题。
接下来,使用以下命令在共享目录上设置正确的SELinux布尔值和安全上下文值:
semanage fcontext –at samba_share_t "/home/webstation(/.*)?" /home/webstation
使用以下命令通过firewalld提供所有Samba服务:
firewall-cmd --add-service=samba --zone=public --permanent firewall-cmd --reload
chcon -R -t samba_share_t /hdd-3TB/downloads/
其他解决方法
chmod -R 0770 /home/webstation
chcon -Rt samba_share_t /home/webstation