是否可以在运行时更改程序的权限?

是否可以在运行时更改程序的权限?

是否可以正常启动一个程序,然后在不重新启动它的情况下授予它 root 或其他级别的权限?

答案1

不可以。一般来说,程序只能降低其权限(尽管 root 拥有的程序可以通过其他方式暂时放弃权限并重新获得权限)。

此类程序的当前最佳实践是将特权部分和非特权部分分离为单独的进程,并让非特权进程根据需要调用特权进程(例如,这是时钟指示器的首选项面板允许您更改系统时间的方式,或终端如何更新已登录用户列表的方式)。

sudo但是,这需要成为程序设计的一部分:如果程序不是设计以这种方式运行的,那么如果它需要管理员权限,则需要在或类似环境下运行它。

答案2

是的。不过软件必须特别提出要求。 PolicyKit可能是最好的方法。

设定还允许改变权限,但它不是像正常情况那样启动然后转到根目录,而是像服务/删除/恢复类型那样启动。

相关内容