# Разрешение пользователю на прерывание отображения исключительно совета дня

trap "trap ' '2" 2

if [ -f /usr/bin/cat ] ; then

cat -s /etc/motd

fi

trap "" 2

if [ -f /usr/bin/mail]; then

if mail -e; then

echo "Hey guess what? you have mail"

fi

fi

#установка значения umask для более безопасного осуществления операций

umask 022

#установка сред

SY$HOME=/appdvb/menus

ASLBIN=/asl_b/bin

UDTKOME=/dbms_b/ud

UDTBIN=/dbms_b/ud/bin

PAGER=pg

NOCHKLPREQ=1

PATH=$PATH:$UDBIN:$ASLBIN

export PATH UDTHOME UDTBIN PAGER NOCHKLPREQ SY$HOME

trap 2 3

# Установка переменной SAVEDSTTY так, чтобы переменную можно было

# использовать для восстановления

# настроек stty при выходе из системы аудита.

SAVEDSTTY=`stty -g`; export SAVEDSTTY

# регистрация всех связей в syslog

logger -p lосаl7.info -t login $LOGNAME 'tty'

trap 'logger -p local7.info -t logout $LOGNAME 'tty'' 0

# отмена создания файлов дампа ядра

ulimit -с D

#

# проверка, зарегистрированы ли пользователи более двух раз, не считая…

case $LOGNAME in

idink | psalon | dave)

;;

*)

PID-$($); export PID

Connected=`who | awk '{print $1}' | fgrep -xc ${LOGNAME}`

if [ "$Connected" -gt 2 ]

then

echo

echo 'You are logged in more than twice.'.

echo `who -u | grep $LOGNAME`

echo

echo 'Enter to exit \c'

read FRED

kill -15 $PID

fi

;;

esac

# установка приглашения, включающего идентификатор пользователя

P$1="$LOGNAME>"

Если вам непонятны некоторые из приведенных выше команд, не стоит огорчаться. Все команды описаны далее в этой книге. А к данному листингу можно вернуться в любой момент.

Рассмотрим последовательно, какие действия выполняются в приведенном листинге.

Первая строка является командой, задающей перехват двух сигналов, которые не дают пользователям возможности прервать выполнение файла с помощью нажатия клавиш [Quit] или [Ctrl+C].

Затем экспортируется значение переменной LOGNAME. В данной системе введены дополнительные справочные страницы (страницы man). Переменная MANPATH вносит их в список поиска по страницам уже имеющегося справочного руководства.

В приведенном листинге проверяется файл часового пояса и соответствующий исходный файл, если таковой существует. Затем устанавливается режим эмуляции терминала, соответствующий значению vt220.

Далее в листинге отменяется режим перехвата символов, чтобы пользователи могли отменить отображение совета дня. Однако в следующих строках листинга этот режим восстанавливается.

Затем определяется почтовое сообщение (это сообщение пользователь получает, если для него имеется новая почта).

В следующем фрагменте листинга устанавливается значение unmask, разрешающее создание файлов, для которых установлены определенные права доступа, заданные по умолчанию.

Далее инициализируются переменные среды. После установки и экспорта они становятся доступными каждому пользователю.

В следующей строке листинга восстанавливается перехват сигналов, соответствующих клавишам [Quit] или [Ctrl+C].

Затем происходит сохранение заданных по умолчанию параметров стандартного терминала stty. В результате этого при выходе пользователей из системы аудита можно повторно инициализировать параметры терминала.

Потом регистрируются все подключения пользователей в файле /var/adm/mes‑sages, который по умолчанию является журнальным файлом системы.

В следующей строке листинга выполняется команда ulimit. Она позволяет ограничить количество дампов ядра либо дампов, выполняемых в шестнадцатеричной форме.

После этого следует небольшой фрагмент кода, который дает пользователям возможность регистрироваться дважды, но только одновременно для двух пользователей. Это правило не распространяется на следующих трех пользователей: idink, psalom, dave. Остальным пользователям будет отказано в доступе, если они попытаются зарегистрироваться более двух раз.

Перейти на страницу:

Похожие книги