如果我从特定用户登录,则执行命令

时间:2017-10-07 08:03:33

标签: linux bash shell login su

我的服务器有一个超级用户(user1),它具有执行某些操作的特殊权限。还有一些其他系统用户。

当且仅当我从系统用户(user2)登录时,有没有办法执行命令集?

或者用什么方法来识别我登录到超级用户的系统用户?

例如,我想运行一个脚本,如果我从系统用户(user2)登录,则执行:

if (cNum.startsWith("4")) {
    System.out.println ( "The card is a Visa" );
} else if (cNum.startsWith("5")) {
    System.out.println ( "The card is a MasterCard" );
} else if (cNum.startsWith("6")) {
    System.out.println ( "The card is a Discover Card" );
} else if (cNum.startsWith("37")) {
    System.out.println ( "The card is an American Express Card" );
}

1 个答案:

答案 0 :(得分:1)

who am i命令将显示最初在该终端上登录的用户的名称。您可以使用它来检测是否已使用su从一个用户帐户切换到另一个用户帐户。所以在~user1/.profile你可以把:

orig_user=$(who am i | awk '{print $1}')
if [[ $orig_user = user2 ]]
then
    sh script.sh
fi