我只是试着找出谁调用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/ no /root?
问候
发布于 2013-02-13 10:22:16
您需要的是$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-12 00:38:20
我不是Linux专家,您不会解释您当前的方法是如何失败的,但是id命令看起来是一个更简单的替代方法。
https://stackoverflow.com/questions/14816447
复制相似问题