我正在尝试让 samba 正常工作...我有一个“电影”共享(//server/Movies),我希望只有 root 帐户才能上传和删除。访客无需密码/登录即可查看“电影”共享,但无法删除/更新(只能查看)。
[Movies]
path = /mnt/user/Movies
browsable = yes
public = yes
writable = no
write list = root
guest ok = yes
我可以以访客身份访问电影共享,但当我尝试添加新文件时,出现错误消息:“您需要权限才能执行此操作”
我预计用户名/密码会弹出,但是没有,如何解决这个问题?
答案1
当您首次访问(映射/安装/...)共享时,您需要提供一个用户名。之后,任何进一步的访问都将使用此用户名执行。要更改帐户,您需要停止连接并重新启动访问。
您所想到的弹出式权限提升弹出窗口:Windows 内部没有这样的功能。
对不起。
顺便说一句:您是否知道可以将 Windows 用户名映射到 Linux/Samba 用户名,并且通过 Samba 授予某人 root 访问权限并不是一个好主意?
答案2
恐怕与 Samba 无关。您已从 Windows 计算机以访客身份进行身份验证。要以 root 身份登录,请尝试映射磁盘驱动器。这应该会覆盖身份验证。
答案3
我不知道这背后的“物理”基础设施,但你为什么不在 samba 中的计算机上创建并链接 Windows 配置文件的帐户?这样,你的用户必须打开一个新的 Windows 会话,并且在 Windows 中打开用户配置文件时,他们的正确权限将被分配给他们的“电影”共享(//server/Movies)。
即:用户 1 存在于 samba 中且仅具有浏览和读取权限,相同的权限也适用于他的 Windows 配置文件。
用户 2 存在于 samba 中并具有浏览、读写等权限,相同的权限也将应用于他的 Windows 配置文件。
答案4
问题是你的初始帖子没有指定安全模式为 Samba 做准备。你刚刚给了共享定义。两者互相作用,但一个不是另一个。
A安全模式描述您的客户端将如何进行身份验证。这也意味着,如果您无法创建工作模型,通常大多数安装将默认将 guest 或 nobody 作为您映射到的用户。如果设置正确,您的远程凭据将映射到本地用户、存储在 samba 后端的映射用户帐户或其他映射(通常与 Active Directory 一起使用),具体取决于您如何设置。该映射决定了您在访问共享时以谁的身份出现。
这共享定义规定什么共享至谁在安全模式. 现在您已经(或尚未)验证了自己的身份,将生成的身份与共享定义中指定的身份进行比较;根据定义的内容,将以不同程度授予对共享的访问权限。
为了全面诊断发生了什么,我们需要查看整个 smb.conf 文件。我建议输入
testparm > results.smb
并将内容复制results.smb
到您的帖子中,以便每个人都能看到正在发生的事情。