我正在使用基于 arch 的 Manjaro Linux。
/etc/sudoers
Defaults rootpw
Defaults:%wheel rootpw
%wheel ALL=(ALL) ALL
快速解释一下我认为此配置应如何表现 - 如果用户没有权限,则应提示他们输入 root 密码。
用户
用户 | 团体 |
---|---|
月球 | 轮/须藤 |
测试用户 | 没有任何 |
根 | 根 |
一切正常,除了似乎pamac
没有遵循我的 sudoers 配置。
pamac install pip
当在以下用户下运行时
lunarix
如果我输入的密码,testuser 将允许 root 权限。lunarix
如果我输入的密码,lunarix 将允许 root 权限。
安装时,pip
它会为所有用户全局安装。
跑步sudo -l
测试用户
Matching Defaults entries for testuser on host:
insults, rootpw, rootpw
User testuser may run the following commands on host:
(ALL) ALL
月球
Matching Defaults entries for lunarix on host:
insults, rootpw, rootpw, rootpw
User lunarix may run the following commands on host:
(ALL) ALL
(ALL) ALL
为什么pamac
允许这样做?
编辑
系统日志
Sep 17 06:43:44 masterbook polkitd[560]: Operator of unix-session:2 successfully authenticated as unix-user:lunarix to gain TEMPORARY authorization for action org.manjaro.pamac.commit for system-bus-name::1.570 [pamac install python-pip] (owned by unix-user:testuser)
Sep 17 06:43:44 masterbook audit[213804]: USER_ACCT pid=213804 uid=1000 auid=1000 ses=2 subj==unconfined msg='op=PAM:accounting grantors=pam_unix,pam_permit,pam_time acct="lunarix" exe="/usr/lib/polkit-1/polkit-agent-helper-1" hostname=? addr=? terminal=? res=success
经过一些调查和 @muru 的帮助后,我们确定 polkitd 正在使用聚丙烯酰胺进行身份验证。我将保持该线程开放,以防具有丰富经验的人可以提供配置指导或此类配置的最佳实践。