使用 sudo 时是否可以保留用户权限和 root 权限的联合?

使用 sudo 时是否可以保留用户权限和 root 权限的联合?

这个问题类似于这个,但希望能够更清楚地表达。

假设这/home是一个 NFS 挂载目录,并且 NFS 服务器启用了根压缩。考虑以下脚本,它需要 root 权限才能读取文件,需要普通用户权限才能写入文件。

#!/bin/bash

cat /etc/shadow
touch ~/shadow

如果没有运行此脚本sudo,则用户无法读取/etc/shadow。但是,如果使用 运行脚本sudo,则 root 无法写入~/shadow,因为 root 受到挤压。

运行此脚本时是否可以向 root 授予用户权限,以便它可以作为一个脚本成功运行,而无需包含sudo每个需要它的命令?

由于上述原因,我试图避免sudo在脚本内部使用这里

答案1

您可以将脚本运行为sudo.但是,您可以修改脚本以在不需要的地方或在您的情况下在处理nfs文件系统时放弃 root 权限。

#!/bin/bash

cat /etc/shadow
su -c 'touch ~/shadow' - <some_user>

相关内容