如何在*任何*用户(或特定用户组的任何成员)登录时运行任务

如何在*任何*用户(或特定用户组的任何成员)登录时运行任务

我发现了很多关于如何安排任务在系统启动时运行的解释(我已经通过在 /etc/crontab 中以 @reboot 开头的条目来执行此操作)或在特定用户登录时运行(此主题似乎涵盖了所有基础)。但是,我想创建一个任务,在 AD 域用户登录 Ubuntu 客户端 PC 时运行。作为一种解决方法,我会选择一个任务,该任务会在 Ubuntu PC 上的任何/每个用户登录时运行(对于本地用户,它会失败)。

答案1

我通过在目录 /etc/profile.d 中创建一个包含以下内容的 shell 脚本来实现此目的:

if [[ " $(groups) " =~ ' domain [email protected] ' ]]; then
# Whatever you want to do for all group members goes here.
fi

只要文件扩展名为 .sh,该脚本就会在登录时自动运行。为了防止输出到不存在的终端的问题,我在 if 语句主体中的命令中附加了 >/dev/null。

相关内容