并非所有 Linux SMB 共享都可以从 Windows 访问

并非所有 Linux SMB 共享都可以从 Windows 访问

我在从 Windows(Windows Server 2022)访问 SMB 共享时遇到两个问题。

在我的 Linux 服务器(EuroLinux RHEL)上我安装了一个 SMB 服务器并使其正常运行。

起初我只有一个共享(\share),它可以正常工作,现在仍然正常。

然后我想使用第二个驱动器作为第二个共享。所以我安装了 /home/vault 驱动器并设置了 samba 共享。在 Windows 中,此共享显示出来,但当我尝试访问它时,错误消息“找不到网络名称“出现(即使我尝试使用 net use 命令挂载它)

因此,我认为可能是挂载的驱动器有问题,因此想使用第三个共享文件夹 (/test)。我像第一个一样设置了第三个共享,但现在 Windows 说您没有权限

所有共享文件夹具有相同的权限和相同的配置

chown guest <folder> && chmod 777 <folder> -R

我的 samba 配置

[root@lx-host home]# cat /etc/samba/smb.conf
[global]
    workgroup = WORKGROUP
    netbios name = lx-host
    server string = lx-host
    server role = standalone server
    passdb backend = tdbsam
    security = user
    guest account = guest
    map to guest = Bad Password

[test]
    path = /home/test
    writable = yes
    public = yes
    printable = no

[vault]
    path = /home/vault
    writable = yes
    public = yes
    printable = no

[share]
    path = /home/share
    writable = yes
    public = yes
    printable = no

我的文件夹权限

[root@lx-host home]# exa
drwxrwxrwx@ - guest 15 Oct 18:58 guest
drwxr-xr-x@ - root  28 Oct 12:07 iso
drwxr-xr-x@ - root   9 Nov 09:33 prog
drwxrwxrwx@ - guest  9 Nov 02:57 share
drwxrwxrwx@ - guest 11 Nov 11:04 test
drwSrwSrwx  - guest 11 Nov 10:47 vault
drwxr-xr-x@ - root  26 Oct 14:46 vm

[root@lx-host home]# ls -l
total 4
drwxrwxrwx. 2 guest guest   62 Oct 15 18:58 guest
drwxr-xr-x. 2 root  root   170 Oct 28 12:07 iso
drwxr-xr-x. 4 root  root    39 Nov  9 09:33 prog
drwxrwxrwx. 6 guest root    57 Nov  9 02:57 share
drwxrwxrwx. 3 guest root    18 Nov 11 12:02 test
drwSrwSrwx. 3 guest root  4096 Nov 11 10:47 vault
drwxr-xr-x. 4 root  root   155 Oct 26 14:46 vm

从 linux 访问 smb

[root@lx-host home]# smbclient -L //lx-host -U guest
Password for [WORKGROUP\guest]:

    Sharename       Type      Comment
    ---------       ----      -------
    test            Disk      
    vault           Disk      
    share           Disk      
    IPC$            IPC       IPC Service (lx-host)

Windows 看到的所有共享
访问共享文件夹 /share 有效

答案1

修复了挂载驱动器的第一个问题!因为我使用的是基于 RHEL 的 Eurolinux,所以它使用了 SELinux 附加安全限制。所以我需要在其他环境中挂载驱动器

 /home/vault ext4 defaults,errors=remount-ro,context="system_u:object_r:samba_share_t:s0" 0 1

https://unix.stackexchange.com/a/391677

答案2

好吧,我放弃寻找“好”的解决方案并坚持这个“还行”的解决方案:

[global]
        create mask = 777
        force create mode = 777
        security mask = 777
        force security mode = 777
[vault]
        directory mask = 2777
        force directory mode = 2777
        directory security mask = 2777
        force directory security mode = 2777

出于安全原因,这并不理想,但有了我的 LAN 和对它的特殊访问权限,这对我来说没问题。

相关内容