是否可以为不同的用户隔离不同的 motd 文件?所以管理员收到了不同的消息,而其他人则收到了不同的消息......
答案1
经过长时间的搜索,我想到了一个想法:
编辑 /etc/profile 并将以下循环添加到末尾但在 TRAP 之前。
#!/bin/ksh
ROOTY=$(whoami)
if [ ${ROOTY} != root ] ; then
for i in `who am i |awk {'print $1'}`
do
RID=$i
UNIXADM=$(sudo cat /home/root/unixusers | grep -Fx $RID | wc -l)
if [ ${UNIXADM} == 1 ] ; then
cat /etc/motd.unixusers
fi
done
fi
其中 /home/root/unixusers 将是用户列表 /etc/motd.unixusers 是用户特定的 motd
答案2
对我来说看起来太复杂了
ROOTY=$(whoami)
if [ ${ROOTY} != root ]
then
if sudo grep -q $ROOTY /home/root/unixusers
then cat /etc/motd.unixusers
else cat /etc/motd
fi
fi
请注意
whoami
并且who am i |awk {'print $1'}
可能会给出相同的结果sudo cat /home/root/unixusers | grep -Fx $RID | wc -l
相当于sudo grep -c $RID /home/root/unixusers
- 但是,您与 1 进行比较,为什么不从 grep 获取结果?
- 为什么要为一项运行循环?