0

誰がrootまたはsudoと呼んでいるのかを理解しようとしています。rootのホームフォルダに何かを設定したくないのですが、ターミナルでこれを試してみると、完璧に機能しますが、仕様では機能しません。何が間違っているのでしょうか。

ターミナル:

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

SPEC

%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?

よろしく

4

2 に答える 2

0

私はLinuxの第一人者ではなく、現在のアプローチがどのように機能しないかを説明していませんが、idコマンドはより単純な代替手段に見えます。

于 2013-02-11T16:38:19.597 に答える
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 に答える