![如何让 Ubuntu 20.04 授予 Windows 10 本地文件共享的来宾权限](https://linux22.com/image/938582/%E5%A6%82%E4%BD%95%E8%AE%A9%20Ubuntu%2020.04%20%E6%8E%88%E4%BA%88%20Windows%2010%20%E6%9C%AC%E5%9C%B0%E6%96%87%E4%BB%B6%E5%85%B1%E4%BA%AB%E7%9A%84%E6%9D%A5%E5%AE%BE%E6%9D%83%E9%99%90.png)
到目前为止,我已经设置了一个文件共享,并且通过添加 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 共享而言。