【网络】通过Samba实现Window挂在Linux服务器路径

有时候我们去进行内网部署时,会遇到客户或者甲方爸爸说,需要将Linux中的某个路径共享出去到Window上,挂载出比如Z:\这种盘符。通过打开Z盘,来查看服务器的指定目录下的数据。

步骤1: 在Linux中安装samba
shell 复制代码
yum install samba samba-client
步骤2:配置Samba共享
  • 配置samba配置文件

    shell 复制代码
    vim /etc/samba/smb.conf
  • 配置内容如下

conf 复制代码
[global]
        workgroup = SAMBA
        security = user

        passdb backend = tdbsam

        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw

[homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = No
        read only = No
        inherit acls = Yes

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

[print$]
        comment = Printer Drivers
        path = /var/lib/samba/drivers
        write list = @printadmin root
        force group = @printadmin
        create mask = 0664
        directory mask = 0775
[shared]
   path = /data/shared
   browseable = yes
   writable = yes
   valid users = public
   create mask = 0755
  • 设置用户和路径
shell 复制代码
#创建分享的目录
mkdir -p /data/shared
chmod 0755 /data/shared

#创建用户
adduser public
#设置密码
passwd public
  • 设置分享目录的访问用户和密码
shell 复制代码
smbpasswd -a public
  • 重启smb服务
shell 复制代码
systemctl restart smb
systemctl restart nmb
步骤3:Window中挂载网络位置

找到我的电脑->网络->右键->映射网络驱动器

文件夹内容按照示例当中的格式去写: \\server\share,根据上面我写的例子中,文件夹的内容就应该是

\\服务器ip\shared

  • server: 服务器ip
  • share: 在smb.conf中 设置的[]中的内容

点击完成后,系统会提示要求输入凭证,你把刚才分享目录的访问用户和密码填入即可,就可以连接啦。

步骤4:验证

连接成功后,点击我的电脑,在C盘底下会出现如下盘符挂在。

点击进入,创建一个hello.txt文件。

到linux服务器中查看

步骤5: 排查问题

如果windows下登录samba服务器后无法访问linux下共享目录,提示没有权限。

则检查

a、确保linux下防火墙关闭或者是开放共享目录权限

b、确保samba服务器配置文件smb.conf设置没有问题,可网上查阅资料看配置办法

c、确保setlinux关闭,可以用setenforce 0命令执行。 默认的,SELinux禁止网络上对Samba服务器上的共享目录进行写操作,即使你在smb.conf中允许了这项操作。 /usr/bin/setenforce 修改SELinux的实时运行模式

setenforce 1 设置SELinux 成为enforcing模式

setenforce 0 设置SELinux 成为permissive模式

如果要彻底禁用SELinux 需要在/etc/sysconfig/selinux中设置参数selinux=0 ,或者在/etc/grub.conf中添加这个参数

/usr/bin/setstatus -v

相关推荐
YuMiao17 小时前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
chlk1232 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑2 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件2 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号2 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI3 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux
Sinclair4 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
木心月转码ing4 天前
WSL+Cpp开发环境配置
linux