Bash
Я рассмотрю bash поскольку это заданная по умолчанию оболочка в большинстве версий Linux. bash имеет большое количество переменных, которые Вы можете конфигурировать во время выполнения. Можно настроить все: от стиля приглашения ко вводу команды, до того сколько строк хранить в журнале.
HISTFILE
имя файла протокола, по умолчанию ~username/.bash_history
HISTFILESIZE
максимальное количество команд, хранимых в файле, обеспечивается прокрутка при необходимости.
HISTSIZE
сколько команд помнить (при использованни клавиши up arrow).
Переменные обычно задаются в /etc/profile, который настраивает bash для всех пользователей глобально, но они могут быть перекрыты в файле ~username/.bash_profile вручную используя команду export чтобы установить переменные типа export EDITOR=emacs. Это одна из причин того, почему каталоги пользователей не должны быть всемирно читаемыми; файл .bash_history может содержать много ценной информации. Вы можете запретить запись в него, выключить ведение протокола через свой файл .bash_profile или связать его с /dev/null, дабы не дать bash вести протокол. Для root я рекомендую задать минимальные значения HISTFILESIZE и HISTSIZE (например 10). С другой стороны, если Вы хотите регистрировать хронологию оболочки пользователей для анализа их действий задайте для этих файлов атрибуты immutable и append only, используя команду .bash_history. Правда, такой подход создаст еще ряд проблем, так что заручитесь согласием пользователей.
Back
Written by Kurt Seifried |
Bash имеет встроенный ограничитель, к которому обращаются через ? ulimit?. Любые жесткие ограничения не могут быть установлены выше, если Вы имеете ограничения, определенные в /etc/profile. Это полезно для старых дистрибутивов без поддержки PAM. Вы должны также гарантировать, что пользователь не может изменять оболочку. Параметры настройки ограничений подобны методу PAM&:
ulimit ?Sc 0 ulimit ?Su 100 ulimit ?Hu 150
Эти три правила достигли бы того же результата как вышеприведенные в примере с PAM. Первое правило отключает дампы ядра, второе правило устанавливает soft-ограничение в 100 процессов, и третье правило устанавливает жесткое ограничение в 150 процессов. Справка по ulimit доступна по команде ?help ulimit? на приглашение bash.