在SLES 12中仅在首次root登录时运行脚本

我试图设置我的SLES 12系统以仅在第一次以root身份登录SLES 12系统时运行脚本。之后,root将永远不会再次运行该脚本。另外,我不希望任何非root用户运行此脚本。

有人对我如何实现这一目标有任何想法吗?

谢谢。

huangchaoqi 回答:在SLES 12中仅在首次root登录时运行脚本

一种方法是使用标志文件和测试条件。

script_function()
{
# what your script does
}

if [ -e /root/.flagfile ]
then
  : # do nothing
else
  script_function
  touch /root/.flagfile
fi

然后,仅将脚本放入root用户的profile.d或.bash_login中。

,

如果脚本只能执行一次,则可能会导致标志文件被意外删除,并在下次登录时重新运行。或者,考虑翻转条件,以防万一,有可能使脚本不可执行。

在系统配置期间,使用“ / path / to / script”创建可执行文件“〜root / run-once.sh”。

然后在/ etc / profile中

if [ -x ~/run-once.sh ] ; then
    source ~/run-once.sh
    # Disable re-run with
    rm ~/run-once.sh
    # OR
    chmod -x ~/run-once.sh
fi

作为副作用,这种方法可以在需要时强制其他用户进行一次一次性登录。

本文链接:https://www.f2er.com/3116731.html

大家都在问