OS X 中的用户权限问题

OS X 中的用户权限问题

[OS X 10.9.4] 三个问题,但它们实际上都是同一件事的一部分。

计算机拥有一名管理用户和一名受限用户(除了内置 root 和一名来宾用户)。我确实是唯一的用户,但是出于安全原因,我更喜欢使用权限有限的登录名。当我尝试在幕后工作时,这会引发几个问题。

  1. 如果我sudo Administrator从受限用户登录,则需要密码。但管理员的密码被拒绝。我不知道为什么或者该怎么办。

  2. 当我以管理员身份登录并尝试更新从管理员登录安装到 usr/local/bin/... 的应用程序(从终端)时,该操作被拒绝,因为我(管理员)没有写入权限必要的目录。但它们是 usr/local/ 目录,而且我已经安装在那里了,怎么可能没有足够的权限呢?

  3. 我不想将受限用户放在 sudoers 列表中,因为这会损害安全框架,但我想通过受限用户的登录来执行一些管理操作。在 Windows 中,UAC 允许这样做;在 KDE/Fedora 中,我可以做到这一点(与 Windows 非常相似)。我在 OS X 中找不到任何类似的东西。有吗?

答案1

第1部分

我假设你正在做类似sudo -u admin_user some_command...(run some_commandas admin_user) 的事情。您提到您尚未将受限用户放入 sudoers 列表中;因此受限用户将无法调用sudo 根本不。询问密码只是一种形式,无论您输入什么,它都会拒绝尝试。我不知道为什么要这样设计,但它就是这样工作的。您必须添加一个条目,允许受限用户作为管理用户sudoers调用。sudo或者只使用su,这不需要任何此类配置。

这是/etc/sudoers您可能会使用的一行:

# From left to right: allow limited_user, from any host, to
# sudo as admin_user and run any command.
limited_user ALL=(admin_user) ALL

但请注意,这sudo会要求您limited_user输入密码,不是 admin_user的。另一方面,su会询问您admin_user的密码。

请参阅man 5 sudoers参考资料 来了解更多信息/etc/sudoers。请注意:语法描述非常复杂。

第2部分

就 OS X 的 Unix/BSD 部分而言,管理员与任何其他用户没有什么不同。如果/usr/local/bin是 root 拥有并具有通常的 rwxr-xr-x 权限,那么您必须是 root(即通过 成为 root sudo)才能写入它,无论系统偏好设置显示您拥有什么权限。您还没有说明您安装的是什么或如何安装它,但如果它要求输入密码,则sudo可能已被使用。

第三部分

允许非 root 用户有限访问文件系统某些部分的常用 Unix 方法是使用组。我不确定您在 Fedora/KDE 中指的是类似 UAC 的系统,但如果它不是 SELinux 或 ACL,那么它就是用户和组管理。我无法谈论 Windows 访问控制的工作原理。

例如,如果您想同时授予admin_userlimited_user的写入权限/usr/local/bin,您可以installation在系统偏好设置(用户和帐户)中创建一个组,向其中添加admin_userlimited_user,然后添加chown root:installation /usr/local/bin; chmod ug+rwx /usr/local/bin/usr/local/bin然后将具有 rwxrwxr-x 权限(所有者读/写/列表,组读/写/列表,其他人仅读/列表)。

可能有一种更特定于 Mac 的方法来完成我刚才描述的操作。我的经验仅限于更传统的 *nix 系统。

相关内容