本脚本在缺省调度组中创建 lnode(other 如果口令映射中存在这样的用户,否则 root)将向系统管理员寄出一份备忘录,提醒他把新的 lnode 移动到调度层级结构中的正确位置。
#!/bin/sh
#
#ident "@(#)nolnode.sh 1.10 99/05/07 SMI"
#
# Copyright (c) 1998-1999 by Sun Microsystems, Inc.
# All rights reserved.
#
# Copyright 1995-1997 Softway Pty. Ltd.
#
# A script that called by the PAM module to create a lnode
#
PATH=/usr/srm/sbin:/usr/srm/bin:/sbin:/bin export PATH
LOCALE=C export LOCALE
if [ "$DEBUG" = "true" ]
then
exec >> /tmp/nolnodelog 2>&1
echo
date
echo "Attempting to create lnode for $USER"
else
exec > /dev/null 2>&1
fi
err=`limadm set -u cpu.shares=1 "$UID" 2>&1`
if [ $? -eq 0 ]
then
SRM_GROUP=`liminfo -v $USER | grep '^sgroupname' | awk '{ print $2 }'`
SRM_SHARE=`liminfo -v $USER | grep '^cpu.shares' | awk '{ print $2 }'`
export SRM_GROUP SRM_SHARE
cat <<-EOF | /usr/lib/sendmail root
Subject: New lnode created for "$USER"
Remember to change scheduling group and shares for
"$USER". Currently in group "$SRM_GROUP" with $SRM_SHARE share.
EOF
else
cat <<-EOF | /usr/lib/sendmail root
Subject: Could not create lnode for "$USER"
after "$SERVICE" attempt on tty "$TTY", uid "$UID",
rhost "$RHOST",
limadm said "$err"
EOF
exit 1 # deny access
fi
# permit access
exit 0