主要观点: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) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。