Що таке / bin / rbash?


14

Я дізнався про загальні програми оболонок .

Коли я біжу cat /etc/shells, він показує:

# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash

Що /bin/rbashтут? Чи використовується в сценаріях?


6
Яка частина Росії man rbashнезрозуміла?
Стіг Хеммер

1
@StigHemmer. Я цього не робив. man rbashтакож дає мені детальну інформацію. Спасибі.
ромашка

3
Читання довідкової сторінки завжди має бути вашою першою спробою зрозуміти інструмент. Ви також повинні прочитати його на машині, де воно з'являється, щоб переконатися, що ви читаєте про правильну версію.

Відповіді:


16

З вікіпедії

Обмежена оболонка - оболонка Unix, яка обмежує деякі можливості, доступні інтерактивному сеансу користувача або сценарію оболонки, що працює в ньому. Він покликаний забезпечити додатковий рівень безпеки, але є недостатнім для того, щоб дозволити виконувати повністю ненадійне програмне забезпечення. Операція з обмеженим режимом знаходиться в оригінальній оболонці Борна [1] та її пізнішому башті, [2] та в оболонці Корна. У деяких випадках обмежена оболонка застосовується спільно з тюрмою Chroot для подальшої спроби обмежити доступ до системи в цілому.

Дивіться відповідь Сорена А щодо обмежень, які застосовуються до оболонок з обмеженим доступом.

Ви можете працювати bashв обмеженому режимі

bash -r
bash --restricted

У моїй системі:

$ file /bin/rbash
/bin/rbash: symbolic link to bash

Тож якщо я біжу /bin/rbash, я бігаюbash

АЛЕ

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

Як ви можете легко протестувати:

zanna@monster:~$ rbash
zanna@monster:~$ cd playground
rbash: cd: restricted

1
Здається, багато обмежень. Тоді як це корисно? Чи використовується це в сценаріях?
ромашка

3
Він може бути встановлений як оболонка за замовчуванням для користувача, якого ви хочете потрапити в певний каталог, наприклад @passa
Zanna

2
@passa - це не сценарій, а обмежені оболонки є єдино марними для сценаріїв. Оскільки ви знаєте або можете визначити, які дії виконуються в сценарії, використовувати сенсорну оболонку для сценарію немає сенсу.
муру

@muru Гаразд. Отже, це можна використати з метою, про яку сказала Занна у своєму коментарі.
ромашка

1
Це корисно системному адміністратору, оскільки може заважати іншим користувачам виконувати небезпечні завдання. Це дещо менш корисно для кінцевого споживача.

17

rbash - це обмежена версія (зменшені можливості) bash. Дивіться цю статтю: https://en.wikipedia.org/wiki/Restricted_shell

Зі статті:

Наступні операції заборонені в оболонці з обмеженими можливостями:

changing directory
specifying absolute pathnames or names containing a slash
setting the PATH or SHELL variable
redirection of output

bash додає додаткові обмеження, включаючи:

limitations on function definitions
limitations on the use of slash-ed filenames in bash builtins

Обмеження в обмеженій оболонці Корна майже такі ж, як і в обмеженій оболонці Борна.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.