【网络】通过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

相关推荐
huangyuchi.22 分钟前
【Linux系统】动静态库的制作
linux·运维·服务器·动态库·静态库·库的简单制作
闻不多25 分钟前
用llamaindex搭建GAR遇到400
android·运维·服务器
jim写博客1 小时前
Linux进程概念(四)环境地址变量
linux·运维·服务器
稚辉君.MCA_P8_Java1 小时前
豆包 Java的23种设计模式
java·linux·jvm·设计模式·kubernetes
Fine姐1 小时前
The Network Link Layer: 无线传感器中Delay Tolerant Networks – DTNs 延迟容忍网络
开发语言·网络·php·硬件架构
Nie_Xun2 小时前
ubuntu网络共享
linux·运维·ubuntu
花小璇学linux2 小时前
imx6ull-驱动开发篇22——Linux 时间管理和内核定时器
linux·运维·驱动开发
网络研究院2 小时前
新的“MadeYouReset”方法利用 HTTP/2 进行隐秘的 DoS 攻击
网络·网络协议·安全·http·攻击·漏洞
189228048612 小时前
NY270NY273美光固态闪存NY277NY287
服务器·网络·数据库·科技·性能优化
你好,赵志伟4 小时前
Socket 编程 TCP
linux·服务器·tcp/ip