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

相关推荐
小毛驴85027 分钟前
Linux 后台启动java jar 程序 nohup java -jar
java·linux·jar
好好学习啊天天向上1 小时前
世上最全:ubuntu 上及天河超算上源码编译llvm遇到的坑,cmake,ninja完整过程
linux·运维·ubuntu·自动性能优化
tan180°2 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
典学长编程3 小时前
Linux操作系统从入门到精通!第二天(命令行)
linux·运维·chrome
wuk9983 小时前
基于MATLAB编制的锂离子电池伪二维模型
linux·windows·github
snoopyfly~6 小时前
Ubuntu 24.04 LTS 服务器配置:安装 JDK、Nginx、Redis。
java·服务器·ubuntu
独行soc6 小时前
#渗透测试#批量漏洞挖掘#HSC Mailinspector 任意文件读取漏洞(CVE-2024-34470)
linux·科技·安全·网络安全·面试·渗透测试
BD_Marathon6 小时前
Ubuntu下Tomcat的配置
linux·ubuntu·tomcat
饥饿的半导体6 小时前
Linux快速入门
linux·运维
BD_Marathon7 小时前
Ubuntu:Tomcat里面的catalina.sh
linux·ubuntu·tomcat