以 Root 身份成功登录后执行命令

以 Root 身份成功登录后执行命令

我想在某人以 Root 用户身份成功登录后执行一个命令,通常会向管理员发送有关此事的电子邮件,但我想执行我的命令,而不是向管理员发送电子邮件。

我已将我的规则添加到/root/.bashrc

# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
MYCOMMAND

该命令运行时没有问题,但它在 SSH 中通知 MYCOMMAND 正在运行。

我不想在登录 SSH 时收到此通知。我怎样才能仅在需要时运行该命令,而不是在以 root 身份登录时运行该命令?

答案1

您可以将点文件更改为类似以下内容:

if [ -z "$SSH_CLIENT" ] && [ -z "$SSH_TTY" ]
then
MYCOMMAND
fi

想法是在 SSH 会话中设置这些变量。

相关内容