让我知道我几乎不明白 setuid/setgid/whatever 是什么。我认为这与执行程序的用户身份有关。这让我对nosuid.
在Android 4.3 的安全增强中,谷歌说
The /system partition is now mounted nosuid for zygote-spawned processes,
preventing Android applications from executing setuid programs.
Run Code Online (Sandbox Code Playgroud)
对我来说,Linux 中的文件系统是“为”任何东西挂载是没有意义的,就好像它的挂载方式可以与进程或可执行文件相关。如果 Android 设备上的系统分区挂载了nosuid,那么系统的任何核心可执行文件如何以 root 身份运行,它们需要在启动的最早阶段进行?
我有一种感觉setuid,nosuid挂载选项sudo,和su都与它们的名字相关。
但它们如何相互关联?
其中一些是否结合使用?
如果不是,那为什么他们的名字如此相似?
我的计算机(Chromebook)上有一个有点复杂的设置,其中在没有初始 RAM 磁盘的内核中使用kexec. 我有一个成功运行的 systemd 单元(?)文件/etc/rc.local(因为它将被调用),这就是我用来调用的文件,但我需要它在挂载kexec中的条目后启动。fstab第一阶段内核在不使用显示器的情况下运行(我还没有弄清楚如何让它使用显示器),所以我不知道是否在/etc/rc.local挂载条目之前或之后fstab调用。
我rc-local.service从其他地方复制了该文件,它看起来像这样:
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
直到现在我才注意到SysVStartPriority,并假设它设置的值会使其最后运行,但是当我将 kexec 内核换成普通内核(直接通过显示器启动)时,我注意到日志或控制台输出表明该参数已被弃用。因此,我需要指定一个After=参数来控制rc.local运行时间。挂载 fstab 条目的 systemd 单元/服务名称是什么?
我希望它bash带有一个选项,可以阻止命令替换剥离尾随换行符。有没有?如果没有,那么是否存在类似的外壳bash,并且标准\xe2\x80\x94POSIX,我猜\xe2\x80\x94sh代码将在其中运行,它有这样的选项或者可能有一些特殊的语法对于不去除换行符的命令替换(后者更好)?
文档和网页对此不是很清楚。它是Linux技术吗?它是一种存储设备吗?
其他一些问题: