如何让 Ubuntu 20.04 授予 Windows 10 本地文件共享的来宾权限

如何让 Ubuntu 20.04 授予 Windows 10 本地文件共享的来宾权限

到目前为止,我已经设置了一个文件共享,并且通过添加 wsdd 服务,我已经可以在我的 Windows 10 PC 上发现它了(无论如何,我认为这就是我所做的。主要是按照在线教程,因为我还不太了解。但我正在努力。)

所以此时我现在可以看到并打开网络位置,并且能够看到网络文件夹内的共享文件夹。当我单击共享文件夹时,Windows 对我大喊并说:Windows 无法访问:您无权访问此驱动器。

在共享上,我启用了访客访问,并允许其他人创建和删除。此时它应该可以正常工作?但事实并非如此。我该如何解决这个问题?我之前在其他版本上设置了共享,可以通过同一台电脑访问,这并没有改变,但它们都因更新而中断,所以我完全重新格式化并重新安装了新版本的 ubuntu。自从重新安装以来,除了这个和网页浏览之外,我什么也没做

sony@Cher:~$ testparm -s
--------------------------
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

# Global parameters
[global]
    log file = /var/log/samba/log.%m
    logging = file
    map to guest = Bad User
    max log size = 1000
    obey pam restrictions = Yes
    pam password change = Yes
    panic action = /usr/share/samba/panic-action %d
    passwd chat = Enter\snew\s\spassword:* %n\n Retype\snew\s\spassword:* %n\n password\supdated\ssuccessfully .
    passwd program = /usr/bin/passwd %u
    server role = standalone server
    server string = %h server (Samba, Ubuntu)
    unix password sync = Yes
    usershare allow guests = Yes
    idmap config * : backend = tdb


[printers]
    browseable = No
    comment = All Printers
    create mask = 0700
    path = /var/spool/samba
    printable = Yes


[print$]
    comment = Printer Drivers
    path = /var/lib/samba/printers



sony@Cher:~$ net usershare info --long
[Seagate Expansion Drive]
path=/media/sony/Seagate Expansion Drive
comment=
usershare_acl=Everyone:F,
guest_ok=y

答案1

索尼似乎是一个用户名。

这里的问题不是 samba 问题,而是 Linux 权限问题。

默认情况下,Linux 会为 /media/$USER(本例中为 /media/sony)设置特殊权限,以便只有该用户(sony)可以访问该权限之外的任何内容。samba 来宾用户不是 sony,因此 Linux 会向您显示权限被拒绝错误,并且 samba 会将该错误传递给客户端。

您可以使用 samba 来解决此问题,特别是因为您只有一个共享,那就是编辑/etc/samba/smb.conf并在该行下方workgroup = WORKGROUP添加以下内容:

force user = sony

然后重新启动smbd:sudo service smbd restart

Samba 访客用户将转换为 sony - 至少对于此 samba 共享而言。

相关内容