motd - UNIX - AIX - 针对 diff 用户的不同欢迎屏幕

motd - UNIX - AIX - 针对 diff 用户的不同欢迎屏幕

是否可以为不同的用户隔离不同的 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 获取结果?
  • 为什么要为一项运行循环?

相关内容