Ubuntu 版本 22.04 LTS 我按照这个安装了 sambahttps://ubuntu.com/tutorials/install-and-configure-samba#1-overview 。我没有对 samba.conf 文件做任何更改。我使用 nautilus本地网络共享并创建一个公共共享文件夹。
现在,当我尝试从另一台设备访问该文件夹时,它会要求进行身份验证。当我提供使用 ubuntu 文档设置 samba 时创建的信息时,它允许我访问。但这是一个公共文件夹,我想在本地网络中共享它而无需任何身份验证。我不知道我错过了什么。
答案1
共享文件夹位于哪里?
例如,如果您在 /home/your-user-name/Public 创建了共享,它将不起作用。
这并不是因为 samba,而是因为 Ubuntu 22.04 将主文件夹的默认权限从 755 更改为 750:文件夹的所有者是唯一可以访问甚至遍历该文件夹的人 - 无论是本地还是通过网络。
[] 一种选择是将其改回旧的 Ubuntu 默认设置:
chmod o+rx /home/your-user-name
或者甚至只是将文件夹设置为可供其他人遍历:
chmod o+x /home/your-user-name
[] 另一个选择是强制访客用户为您 = 至少对于所有这些共享。
由于您正在使用本地网络共享编辑 /etc/samba/smb.conf
在该行下方workgroup = WORKGROUP
添加这一行 - 使用您自己的用户名:
force user = your-user-name
然后重新启动smbd:
sudo service smbd restart
注意:如果您在 /media/your-user-name/XXX 共享文件夹,也会发生同样的事情。这里最好的办法是使用这种force user
方法。
答案2
允许客人useradd
要连接到您的 samba 共享,最简单的方法是添加一个至少对您的共享有读取权限的新用户。
假设你添加了一个名为公共并授予该用户对您的共享的读取权限。
您需要告诉 samba 使用该特定用户进行公共访问,您的文件smb.conf
可以包含如下内容:
[publicsmb]
path = /mnt/yourpublicshare
public = yes
writeable = yes
browsable = yes
guest ok = yes
force user = publicsmb