Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

Ограниченная оболочка является Unix оболочки , которая ограничивает некоторые возможности доступны для интерактивного сеанса пользователя, или в скрипт , работает в нем. Он предназначен для обеспечения дополнительного уровня безопасности, но его недостаточно для выполнения полностью ненадежного программного обеспечения. Ограниченный режим работы можно найти в оригинальной Bourne оболочки [1] и его последующего аналога Bash , [2] и в KornShell . [3] В некоторых случаях ограниченная оболочка используется вместе с chroot jail, в дальнейшей попытке ограничить доступ к системе в целом.

Призыв [ править ]

Ограниченный режим оболочки Bourne sh и ее аналогов POSIX используется, когда интерпретатор вызывается одним из следующих способов:

  • sh -r    обратите внимание, что это конфликтует с опцией "читать" в некоторых вариантах sh
  • rsh    обратите внимание, что это может конфликтовать с командой удаленной оболочки , которая также называется rsh в некоторых системах.

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

  • rbash
  • bash -r
  • bash --restricted

Аналогичным образом, ограниченный режим KornShell создается следующим образом:

  • rksh
  • ksh -r

Настройка rbash [ править ]

Для некоторых систем (например, CentOS ) вызов через rbash по умолчанию не включен, и пользователь получаеткоманда не найденаошибка при прямом вызове или сбой входа в систему, если файл / etc / passwd указывает / bin / rbash в качестве оболочки пользователя.

Достаточно создать ссылку с именем rbash, указывающую прямо на bash . Хотя это вызывает Bash напрямую, без опций или , Bash распознает, что он был вызван через rbash, и это действительно ограниченная оболочка.-r--restricted

Это можно сделать с помощью следующих простых команд (выполняемых как root, либо авторизованных как пользователь root, либо с помощью sudo ):

корень @ хост: ~ # cd / bin root @ host: / bin # ln bash rbash

Ограниченные операции [ править ]

Следующие операции не разрешены в оболочке с ограничениями:

  • изменение каталога
  • указание абсолютных путей или имен, содержащих косую черту
  • установка переменной PATH или SHELL
  • перенаправление вывода

Bash добавляет дополнительные ограничения, в том числе: [2]

  • ограничения на определения функций
  • ограничения на использование имен файлов с косой чертой во встроенных командах Bash

Ограничения в ограниченной оболочке KornShell во многом такие же, как и в ограниченной оболочке Bourne. [4]

Слабые стороны ограниченной оболочки [ править ]

Ограниченная оболочка небезопасна. Пользователь может выйти из ограниченной среды, запустив программу с функцией оболочки. Ниже приведен пример функции оболочки в vi, которая используется для выхода из ограниченной оболочки:

пользователь @ хост: ~ $ vi
: установить  оболочку = / bin / sh : shell

Или просто запустив новую неограниченную оболочку, если она находится в PATH , как показано здесь:

user @ host: ~ $ rbash user @ host: ~ $ cd / rbash: cd: limited user @ host: ~ $ bash user @ host: ~ $ cd / user @ host: / $

Список программ [ править ]

Помимо ограниченных режимов обычных оболочек, к специализированным программам с ограниченным доступом относятся:

  • rssh- используется с OpenSSH , разрешая только определенные программы копирования файлов, а именно scp , sftp , rsync , cvs и rdist
  • smrsh, что ограничивает команды, которые sendmailмогут вызывать [5]

См. Также [ править ]

Ссылки [ править ]

  1. ^ Спецификация POSIX sh
  2. ^ a b Руководство по GNU Bash
  3. ^ Руководство по ksh , страница руководства по Solaris (SunOS 5.10), Oracle Inc.
  4. ^ ksh (1) страница руководства , набор документации IBM AIX
  5. ^ Costales, Брайан; Ассманн, Клаус; Янсен, Джордж; Шапиро, Грегори Нил (2007). Sendmail . Oreilly Series (4-е изд.). O'Reilly Media, Inc. стр. 379. ISBN 9780596510299. Проверено 2 августа 2012 . В качестве помощи в предотвращении [...] атаку, V8.1 Sendmail первой предложила smrsh ( s конец м Айыл г estricted ш Ell) программы.