为了理解 profile.d 的工作原理,我遇到了一些麻烦。据我所知,只要用户登录,脚本就会执行。目前,我在服务器上运行 CentOS 6.10,并出现以下奇怪的行为:
在/etc/profile.d
我得到一个名为的脚本logchk.sh
,该脚本旨在通过 向管理员电子邮件地址发送电子邮件/bin/mail
。如果有人通过此脚本登录,ssh user@serveradress
则会正确执行该脚本并发送电子邮件。不过,脚本执行与否取决于登录方式。有效的方法如下
ssh user@serveradress
无论主机系统如何,无论用户如何git pull user@repoadress
确实会触发电子邮件脚本,但仅限于某些用户,无论主机系统如何以下内容不起作用
git pull user@repoadress
对于某些用户因此,取决于连接到服务器的用户,git pull
或者 FileZilla 不会触发脚本,而对于其他用户,则会触发脚本。所有用户都使用 bash shell,无论用户是否具有 root 权限,行为都是相同的。
所以总而言之,我不明白为什么该脚本会为某些用户触发,而对于其他用户则不会,因为它是全局配置。如果有人可以向我提供一些有关脚本何时被/etc/profile.d
触发的详细信息,我会很高兴。