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

相关推荐
m0_661316235 分钟前
modbus_tcp和modbus_rtu对比&移植AT-socket,modbus_tcp&杂记
服务器·网络·tcp/ip
李游Leo7 分钟前
LaTeX TeX Live 安装与 CTAN 国内镜像配置(Windows / macOS / Linux 全流程)
linux·windows·macos
IT成长日记25 分钟前
【Linux基础】Linux系统管理:GPT分区实践详细操作指南
linux·运维·服务器·gpt·parted·磁盘分区·fdisk
羚羊角uou26 分钟前
【Linux】匿名管道和进程池
linux·c++·算法
FLS1681 小时前
Kali搭建sqli-labs靶场
linux·sql·安全·网络安全
quqi991 小时前
Enable FIPS in ubuntu (by quqi99)
linux·运维·ubuntu
eqwaak01 小时前
Matplotlib 动态显示详解:技术深度与创新思考
网络·python·网络协议·tcp/ip·语言模型·matplotlib
不是三毛没有半1 小时前
华为USG6000v2 NAT模式下IPSEC IKE V1 实验
网络·网络安全·华为
人工智能训练师1 小时前
在Ubuntu中如何使用PM2来运行一个编译好的Vue项目
linux·运维·服务器·vue.js·ubuntu·容器
程序媛Dev1 小时前
50.4k Star!我用这个神器,在五分钟内搭建了一个私有 Git 服务器!
运维·服务器·git