当前位置:首页 > 行业动态 > 正文

如何在Linux系统中设置SMB共享?

Linux上的SMB共享通过Samba软件实现,该软件支持SMB/CIFS协议,用于跨平台文件共享。

在Linux系统中,Samba是一种实现SMB(Server Message Block)共享的开源软件,通过配置Samba,Linux系统可以与Windows系统进行文件和打印机等资源的共享,下面将从以下几个方面详细阐述如何在Linux上配置SMB共享。

如何在Linux系统中设置SMB共享?  第1张

一、安装Samba软件

在开始配置之前,需要确保Linux系统上已经安装了Samba软件包,可以通过以下命令检查是否已安装:

rpm -q samba    # 对于基于RPM的系统
dpkg -l | grep samba   # 对于基于Debian的系统

如果未安装,可以使用相应的包管理器进行安装:

sudo yum install samba   # 对于基于RPM的系统
sudo apt-get install samba   # 对于基于Debian的系统

二、添加用户并设置密码

为了访问共享文件夹,需要创建一个Samba用户,并为其设置密码:

sudo useradd -M -s /bin/nologin smbsuser
sudo smbpasswd -a smbsuser

三、修改配置文件

需要编辑Samba的配置文件/etc/samba/smb.conf,建议先备份原有的配置文件:

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

然后使用文本编辑器打开该文件:

sudo vim /etc/samba/smb.conf

在文件中添加或修改共享目录的配置,

[shared]
comment = Shared Folder
path = /opt/scan
browseable = yes
writable = yes
valid users = smbsuser

[shared] 是共享名称。

comment 是对共享的描述。

path 是要共享的目录路径。

browseable 设置yes表示可以在网络邻居中看到这个共享。

writable 设置为yes表示允许写入。

valid users 指定允许访问的用户列表。

四、开启防火墙端口

为了使其他设备能够访问SMB共享,需要开放相应的端口,默认情况下,SMB服务使用TCP 137-139和445端口,以下是开放这些端口的命令:

firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd --reload

如果是阿里云服务器,还需要手动在安全组中开放这些端口。

五、启动并启用Samba服务

完成上述配置后,启动并启用Samba服务:

sudo systemctl start smb
sudo systemctl enable smb

这将立即启动SMB服务,并将其设置为开机自启。

六、SELinux设置(可选)

如果发现没有写入权限,可能是因为SELinux的限制,可以将SELinux设置为宽容模式,或者使用semanage工具修改上下文:

sudo setenforce 0
sudo install -m -t /opt/scan smb_share_tmpl
sudo chcon -R -t smb_share_tmpl /opt/scan
sudo restorecon -v /opt/scan

七、测试访问

可以通过以下步骤测试SMB共享是否正常工作:

1、查看Linux系统的IP地址:

   ifconfig  # 或者 ip addr

2、在Windows系统的资源管理器中输入\Linux系统IP地址,回车后应该能看到名为shared的共享文件夹。

3、如果一切正常,可以尝试在共享文件夹中创建文件或文件夹,以验证读写权限是否正确设置。

八、常见问题及解决方法

1、无法访问共享文件夹:检查防火墙设置是否正确,确保TCP 137-139和445端口已开放;确认配置文件中的路径和权限设置无误。

2、没有写入权限:检查SELinux设置,必要时将其设置为宽容模式;确认共享目录及其文件具有正确的权限设置。

3、用户认证失败:确保已正确添加Samba用户并设置了密码;检查配置文件中的valid users参数是否正确。

通过以上步骤,您可以在Linux系统上成功配置SMB共享,并在Windows系统中访问共享目录,这不仅可以方便地在不同操作系统之间传输文件,还可以提高工作效率,需要注意的是,SMB共享的安全性相对较低,建议仅在受信任的网络环境中使用,并采取适当的安全措施保护敏感数据。

小伙伴们,上文介绍了“linux smb共享”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。

0