向 AD 计算机账户授予 Samba 共享权限

向 AD 计算机账户授予 Samba 共享权限

我在 Ubuntu 10.04 Server x64 上运行 Samba 3.4.7 和 Likewise Open 6.0.0.8388。此服务器已加入由 2008R2 域控制器运行的域(功能级别 2003)。在 Windows 服务器中,我可以向计算机帐户(以 computername$ 表示)授予文件夹和/或共享的权限。这允许在 SYSTEM 帐户下运行的服务/进程访问这些网络共享。我试图在我的 Linux 服务器上授予相同的权限,但无论我做什么,我都无法将计算机帐户添加到 ACL。setfacl 无法识别用户,当通过 Windows 权限对话框添加它时,它在点击应用后就消失了。Samba 可以做到这一点吗?

答案1

不幸的是,共享权限不能授予计算机帐户;只有用户才可以。是的,看起来你应该能够做到这一点,操作系统也允许你输入,但实际上它并不像你期望的那样工作。

解决此问题的一种方法是,例如,如果您正在将脚本作为计划任务运行,则将网络驱动器安装为有权访问该共享的特定用户,如下所示:

net use * \\server\share /user:DOMAIN\username

这将使用第一个可用的驱动器号(从 Z: 开始,从 XP/2003 开始​​向后推,但在 Win2k 中从头开始)。

您还可以指定一个未使用的驱动器号:

net use u: \\server\share /user:DOMAIN\username

完成后,不要忘记使用以下命令卸载共享:

net use u: /d

(请注意,您当然可以测试驱动器的使用情况,或者在安装之前放弃安装,但我把这留给您。)

答案2

如果不可能,请尝试将计算机帐户添加到安全组,并设置 ACL 以授予该安全组的访问权限。

答案3

在 AD 中创建包含这些计算机的安全组

在 Linux 服务器上运行此命令

setfacl -R -m 默认:组:“hypervservers”:rwx /Share1/

另外不要忘记输入 /etc/samba/smb.conf

[分享] ....

    inherit permissions = yes
    inherit owner = yes
    inherit acls = yes
    nt acl support = yes

希望这会有所帮助!

相关内容