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