polkit:禁用除 wheel 组之外的所有用户?

polkit:禁用除 wheel 组之外的所有用户?

是否可以使用 1 个 polkit .pkla 文件执行以下操作?

  1. 禁止除 wheel 组中的用户之外的所有用户使用 polkit。
  2. wheel 组中的用户在使用 polkit 时需要提供 root 密码。

/etc/polkit-1/localauthority/50-local.d/99-wheel-only.pkla

[禁用除wheel组之外的所有用户]
身份 = unix 组:wheel
操作=*
结果任何=???
结果不活跃=???
结果活动=???

以下文件有效,但您需要提供 /etc/group 中的所有用户:

[禁用除 wheel 组中的用户之外的所有用户:root 和 myuser]
身份 = unix 用户:守护进程;unix 用户:bin;unix 用户:sys;unix 用户:adm;unix 用户:tty;unix 用户:磁盘;unix 用户:lp;unix 用户:邮件;unix 用户:新闻;unix 用户:uucp;unix 用户:man;unix 用户:代理;unix 用户:kmem;unix 用户:dialout;unix 用户:传真;unix 用户:语音;unix 用户:cdrom;unix 用户:软盘;unix 用户:磁带;unix 用户:sudo;unix 用户:音频;unix 用户:dip;unix 用户:www-data;unix 用户:备份;unix 用户:操作员;unix 用户:列表;unix 用户:irc;unix 用户:src;unix 用户:gnats;unix 用户:影子;unix 用户:utmp;unix 用户:视频;unix 用户:sasl;unix 用户:plugdev;unix 用户:staff;unix 用户:游戏;unix 用户:用户;unix 用户:nogroup;unix 用户:libuuid;unix 用户:crontab;unix 用户:messagebus;unix 用户:Debian-exim;unix 用户:mlocate;unix 用户:avahi;unix 用户:netdev;unix 用户:蓝牙;unix 用户:lpadmin;unix 用户:ssl-cert;unix 用户:fuse;unix 用户:utempter;unix 用户:Debian-gdm;unix 用户:扫描仪;unix 用户:saned;unix 用户:i2c;unix 用户:haldaemon;unix 用户:powerdev
操作=*
ResultAny=否
结果无效=否
结果活动=否

答案1

我会尝试以下.pkla

[First disable all users]
Identity=unix-user:*
Action=*
ResultActive=no
ResultInactive=no
ResultAny=no

[Then enable wheel group]
Identity=unix-group:wheel
Action=*
ResultActive=auth_admin
ResultInactive=no
ResultAny=no

结合对的修改AdminIdentities,在 下的文件中配置/etc/polkit-1/localauthority.conf.d/
我有以下两个文件

50-本地权限.conf

[Configuration]
AdminIdentities=unix-user:0

51-ubuntu-admin.conf

[Configuration]
AdminIdentities=unix-group:sudo;unix-group:admin

第二个文件覆盖第一个文件,并强制使用sudo(和旧的admin)组。删除第二个文件后,您将收到 root 密码请求。

相关内容