1、记录当前用户
在 .sh 脚本里使用 whoami 或 $USER 记录当前执行的用户:
#!/bin/bash
echo “当前时间: $(date)” >> /tmp/current_user.log
echo “当前执行用户: $(whoami)” >> /tmp/current_user.log
echo “—————————-” >> /tmp/current_user.log
2、记录完整的环境变量
有时候 cron 执行时的环境变量不同,可以用 env 记录完整环境:
#!/bin/bash
echo “====== $(date) ======” >> /tmp/current_user.log
whoami >> /tmp/current_user.log
env >> /tmp/current_user.log
echo “———————-” >> /tmp/current_user.log
3、日志中带上 UID
whoami 只返回用户名,你可以用 id -u 获取 UID 记录:
#!/bin/bash
echo “执行时间: $(date)” >> /tmp/current_user.log
echo “执行用户: $(whoami) (UID: $(id -u))” >> /tmp/current_user.log
echo “—————————” >> /tmp/current_user.log
总结
| 方法 | 说明 | 
|---|---|
whoami | 
记录当前用户名 | 
env | 
记录所有环境变量 | 
id -u | 
记录当前用户 ID | 
tee | 
让日志同时显示在终端 | 
🚀 你可以选择适合自己的方法,把 whoami 记录到 .sh 里,然后 crontab 定时执行,查看是否是 root 或其他用户在运行脚本!