0

我只是想弄清楚谁调用了 root 或 sudo,因为我不想在 root 的主文件夹中设置一些东西,当我在终端中尝试它时它的工作完美,但不适用于规范,我做错了什么?

终端:

[Mcfly@Mcfly ~]$ whoami=$(who am i | awk '{print $1}')
[Mcfly@Mcfly ~]$ echo $whoami
Mcfly

规格

%define whoami %(who am i | awk '{print $1}')
echo "The user that built this is %{whoami}"
the user that built this is '%{whoami}'

你能帮助我吗 ?

或者有一种简单的方法可以了解 rpm-spec 中的用户路径,我的意思是 /home/mcfly/ 没有 /root?

问候

4

2 回答 2

0

你想要的是$SUDO_USER,一个方便为你设置的变量sudo

如果您想确保root不进行安装,请将其放在您的%pre

if [ -z "$SUDO_USER" ]; then echo "Please use sudo to ensure configuration files are installed in proper location."; exit 99; fi
if [ z"$SUDO_USER" == "zroot" ]; then echo "Please use sudo from a non-root account to ensure configuration files are installed in proper location."; exit 99; fi
于 2013-02-13T02:22:15.773 回答
0

我不是 Linux 专家,您也没有解释您当前的方法是如何失效的,但是id命令看起来是一个更简单的替代方案。

于 2013-02-11T16:38:19.597 回答