RSH(1)

НАЗВАНИЕ
rsh - интерпретатор ограниченного командного языка

СИНТАКСИС


	rsh  [-a] [-c цепочка_символов] [-e] [-f] [-h] [-i] [-k] [-n] [-r] [-s]

	     [-v] [-x] [аргумент ...]

ОПИСАНИЕ
Rsh - ограниченная версия стандартного интерпретатора команд sh(1). Он используется для установки входных имен пользователей и окружения времени выполнения. Его действия выполняются под большим контролем, чем те же действия стандартного shell'а.

При работе в rsh пользователь может выполнять те же действия, что и при работе в sh, но нельзя:

  1. Изменить каталог [см. cd(1)].
  2. Изменить значение переменной PATH.
  3. Указать маршрутное имя файла или команды, содержащее символ /.
  4. Переназначить направление вывода (> и >>).

Перечисленные ограничения вступают в силу после завершения интерпретации команд из файла .profile [см. profile(4)].

Rsh может быть запущен одним из следующих способов:

  1. Файл /bin/rsh указан в последнем поле строки файла /etc/passwd, соответствующей какому-либо пользователю [см. passwd(4)].
  2. Переменная окружения SHELL существует и ее значение есть /bin/rsh.
  3. При запуске shell'а имя файла в аргументе 0 есть rsh.
  4. Shell запускается с опцией -r.

Если выполняемая команда оказывается shell-процедурой, то для ее выполнения rsh запускает sh. Таким образом можно предоставить пользователю ограниченный набор команд, каждая из которых пользуется всеми возможностями стандартного shell'а. Предполагается, что пользователь не имеет одновременно прав на запись и выполнение файлов в предоставленном ему каталоге (напомним: в rsh нельзя перейти в другой каталог).

Смысл использования rsh в том, что автор профайла .profile полностью контролирует поведение пользователя, задавая необходимые начальные действия и предоставляя пользователю нужный каталог.

СМ. ТАКЖЕ
sh(1).