主要观点:run0
可用于临时交互获取提升或不同的权限,与sudo
作用相似但在关键方面不同,通过polkit
进行认证,为调用命令分配独立伪终端,不使用SetUID/SetGID
文件访问位功能,实现更安全健壮,会话通过“systemd-run0
”PAM 栈,是systemd-run
的替代多调用,可设置多种选项来控制运行行为。
关键信息:
- 可设置
--unit
、--property
等多种选项,如指定单元名、设置服务单元属性等。 - 可通过
--user
等选项切换用户或组,还可设置工作目录等。 - 有多种控制终端相关的选项,如
--pty
等。 - 环境变量方面,会继承系统环境,还设置了特定的环境变量如
$TERM
等。
重要细节: - 不同选项的添加版本,如
--unit
在版本 256 添加等。 - 各选项的具体作用,如
--via-shell
调用目标用户登录 shell 等。 - 关于退出状态,成功返回 0,失败返回非 0 值。
- 命令行参数处理方式,非选项参数成为启动进程的命令行等。
- 与
sudo
的不同,run0
始终以登录 shell 语义启动 shell 等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。