Spec-Zone.ru › Bash

Ограниченная оболочка

​

Если Bash запускается под именем rbash или при запуске указывается параметр --restricted или -r, оболочка становится ограниченной. Ограниченная оболочка используется для настройки среды, которая более контролируема, чем стандартная оболочка. Ограниченная оболочка ведёт себя так же, как bash, за исключением того, что следующие действия запрещены или не выполняются:

  • Смена каталогов с помощью встроенной команды cd.
  • Установка или сброс значений переменных SHELL, PATH, HISTFILE, ENV или BASH_ENV.
  • Указание имён команд, содержащих косые черты.
  • Указание имени файла, содержащего косую черту, в качестве аргумента встроенной команды ..
  • Использование параметра -p встроенной команды . для указания пути поиска.
  • Указание имени файла, содержащего косую черту, в качестве аргумента встроенной команды history.
  • Указание имени файла, содержащего косую черту, в качестве аргумента параметра -p встроенной команды hash.
  • Импорт определений функций из окружения оболочки при запуске.
  • Разбор значения SHELLOPTS из окружения оболочки при запуске.
  • Перенаправление вывода с помощью операторов перенаправления ‘>’, ‘>|’, ‘<>’, ‘>&’, ‘&>’ и ‘>>’.
  • Использование встроенной команды exec для замены оболочки другой командой.
  • Добавление или удаление встроенных команд с помощью параметров -f и -d встроенной команды enable.
  • Использование встроенной команды enable для включения отключённых встроенных команд оболочки.
  • Указание параметра -p встроенной команды command.
  • Отключение ограниченного режима с помощью ‘set +r’ или ‘shopt -u restricted_shell’.

Эти ограничения применяются после чтения всех файлов запуска.

При выполнении команды, распознанной как сценарий оболочки (см. Сценарии оболочки), rbash отключает все ограничения в оболочке, запущенной для выполнения сценария.

Ограниченный режим оболочки — лишь один из компонентов эффективной ограниченной среды. Его следует дополнить установкой PATH в значение, допускающее выполнение только нескольких проверенных команд (особенно уязвимы команды, позволяющие выйти из оболочки), сменой текущего каталога после входа в систему на каталог, доступный только для чтения, отличный от $HOME, запретом выполнения сценариев оболочки ограниченной оболочкой, а также очисткой окружения от переменных, которые заставляют некоторые команды менять своё поведение (например, VISUAL или PAGER).

Современные системы предоставляют более безопасные способы реализации ограниченной среды, такие как jails, zones или containers.

Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
Licensed under the GNU Free Documentation License.
https://www.gnu.org/software/bash/manual/html_node/The-Restricted-Shell.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API