[Содержание]   [Назад]   [Пред]   [Вверх]   [След]   [Вперед]  


11. Измененное выполнение команд

Эта главва описывает команды, которые выполняют другие команды в некотором контексте, отличном от текушщего: с измененным окружением, от другого пользователя и др.

11.1 `chroot': Выполнить команду с измененным корневым каталогом

`chroot' выполняет команду с указанным корневым каталогом. На многих системах только супер-пользователь может делать это. Синтаксис.

     chroot НОВЫЙ-КОРЕНЬ [КОМАНДА [АРГУМЕНТЫ]...]
     chroot ПАРАМЕТР

Обычно имена файлов ищутся начиная с корневого каталога, т.е. `/'. `chroot' изменяет корневой каталог на НОВЫЙ-КОРЕНЬ (который должет существовать) и заетм запускает КОМАНДу с необязательными АРГУМЕНТами. Если КОМАНДА не указана, используется значение переменной окружения `SHELL' или, если она не установлена, `/bin/sh' с параметром `-i'.

Параметрами являются `--help' и `--version'. раздел 2. Общие параметры.

11.2 `env': Запустить программу с измененным окружением

`env' запускает программу с измененным окружением. Синтаксис:

     env [ПАРМЕТР]... [ИМЯ=ЗНАЧЕНИЕ]... [КОМАНДА [АРГУМЕНТЫ]...]
     env

Аргументы вида `ИМЯ=ЗНАЧЕНИЕ' устанавливают переменной окружения ПЕРЕМЕННАЯ значение ЗНАЧЕНИЕ. ЗНАЧЕНИЕ может быть пустым (`ПЕРЕМЕННАЯ='). Задавая переменной пустое значение отличается от ее удаления.

Первый следующий за ними аргумент указывает имя программы, которую требуется выполнить; она ищется согласно переменной окружения `PATH'. Любые последующие аргументы воспринимаются как аргументы для этой программы.

Если имя команды не указано за спецификациями окружения, печатается результурующее окружение. Это подобно указанию имени команды `printenv'.

Программа понимает следующие параметры. См. также раздел 2. Общие параметры

`-u ИМЯ'
`--unset=ИМЯ'
Удалить переменную ИМЯ из окружения, если она есть в нем.
`-'
`-i'
`--ignore-environment'
Начать с пустым окружением, игнорирую унаследованное.

11.3 `nice': Выполнить программу с измененным приоритетом

`nice' печатает или изменяет приоритет задачи. Синтаксис:

     nice [ПАРАМЕТР]... [КОМАНДА [АРГУМЕНТ]...]

Если аргументы не заданы, `nice' печатает текущий приоритет, который наследуется. Иначе `nice' выполняет данную КОМАНДу с измененным приоритетом. Если ИЗМЕНЕНИЕ не задано, приоритет команды возрастает на 10. Вы должны олдадать соответсвующими правами для указания отрицательного приращения. Приоритет может быть изменен в пределах от -20 (наивысший) до 19 (наименьший).

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

Программа понимает следующие параметры. См. также раздел 2. Общие параметры.

`-n ИЗМЕНЕНИЕ'
`-ИЗМЕНЕНИЕ'
`--adjustment=ИЗМЕНЕНИЕ'
Добавить ИЗМЕНЕНИЕ вместо 10 к приоритету команды.

11.4 `nohup': Запустить программу с игнорированием к разрыву линии

`nohup' запускает КОМАНДУ с игнорированием к разрыву линии, так что команда может продолжать выполнение в фоновом режиме после того как Вы выйдете из системы. Синтаксис:

     nohup КОМАНДА [АРГУМЕНТЫ]...

`nohup' увеличичвает приоритет КОМАНДЫ на 5, т.о. она имеет небольшое изменение в работе. Если стандартный вывод это терминал, он и стандартный вывод ошибок перенаправляются таким образом, что они добавляются в файл `nohup.out'; если он не доступен для записи то, они дописываются в `$HOME/nohup.out'. Если это невозможно, то команда не выполняется.

Если `nohup' создает `nohup.out' или `$HOME/nohup.out', она создает его без разрешений для группы и остальных. Она не изменет разрешения, если выходной файл уже существует.

`nohup' не помещает команду автоматически в фоновый режим, Вы должны сделать это явно, завершив командную строку символом `&'/

Параметрами являются `--help' и `--version'. См. раздел 2. Общие параметры.

11.5 `su': Выполнить команду с подстановкой идентификаторов пользователя и группы

`su' позволяет одному пользователю временно стать другим пользователем. Она запускает программу (обычно интерактивную оболочку) с реальным и эффективным идентификатором пользователя, группы и дополнительных групп для данного ПОЛЬЗОВАТЕЛЯ. Синтаксис:

     su [ПАРАМЕТР]... [ПОЛЬЗОВАТЕЛЬ [АРГУМЕНТ]...]

Если ПОЛЬЗОВАТЕЛЬ не задан, считается, что это `root', супер-пользователь. Используемая оболочка берется из ПОЛЬЗОВАТЕЛЬской записи в `passwd' или `/bin/sh' если ни одна там не указана. Если ПОЛЬЗОВАТЕЛЬ имеет пароль, `su' спрашивает его, если эффективный идентификатор пользователя не равен нулю (супер-пользователь).

По умолчанию, `su' не изменяет текущий каталог. Она устанавливает переменные окружения `HOME' и `SHELL' из записи пароля для ПОЛЬЗОВАТЕЛЯ, и если ПОЛЬЗОВАТЕЛЬ не является супер-пользователем, устанавлтвает `USER' и `LOGNAME' в значение ПОЛЬЗОВАТЕЛЬ. По умолчанию, оболочка не является оболочкой входа (login shell).

Любые дополнительные АРГУМЕНТЫ передаются как дополнительные аргументы командной оболочке.

GNU `su' не трактует `/bin/sh' или дюбые другие оболочки специально (т.е. устанавливая `argv[0]' в `-su', передавая `-c' только отдельным оболочкам, и т.д.)

`su' может быть опционально скомпилирован для использования `syslog' для сообщения неуачных, и опционально успешных, попыток. (Если система поддерживает `syslog'.) Однако, GNU `su' не проверяет, является ли пользователем группы `wheel'; см. ниже.

Программа понимает следующие параметры. См. также раздел 2. Общие параметры

`-c КОМАНДА'
`--command=КОМАНДА'
Передать КОМАНДУ, единственную командную строку для выполнения, оболочке с параметром `-c' вместо запуска интерактивной оболочки.
`-f'
`--fast'
Передать параметр `-f' оболочке. Это возвожно имеет смысл только, если оболочка это `csh' или `tcsh', для которых парметр `-f' предотвращает чтение файла запуска (`.cshrc'). Для Борновских оболочек, параметр `-f' отключает подстановку имени файла по шаблону, что вряд ли полезно.
`-'
`-l'
`--login'
Сделать оболочку входной. Это означяет следующее. Удалить все переменные окружения кроме `TERM', `HOME' и `SHELL' (которые устанавливаются как описано выше), и `USER', и `LOGNAME' (которые устанавливаются даже для супер-пользователя, как описано выше), и установить `PATH' к "зашитому" при компиляции значению. Изменить ПОЛЬЗОВАТЕЛЬский домашний каталог. Предварить имя оболочки символом `-', чтобы она прочитала свой(и) стартовый(е) файл(ы).
`-m'
`-p'
`--preserve-environment'
Не изменять переменные окружения `HOME', `USER', `LOGNAME' или `SHELL'. Запустить оболочку, указанную в переменной окружения `SHELL' вместо оболочки, указанной в ПОЛЬЗОВАТЕЛЬской записи в passwd, если пользователь, запускающий `su', не супер-пользователь и ПОЛЬЗОВАТЕЛЬская оболочка не ограниченная. "Ограниченная оболочка" это одна из неуказанных в файле `/etc/shells', или в "вшитом" при компиляции списке, если этот файл не существует. Частично действие этого параметра может быть перекрыто параметрами `--login' и `--shell'.
`-s ОБОЛОЧКА'
`--shell=ОБОЛОЧКА'
Запустить ОБОЛОЧКУ вместо оболочки, указанной в ПОЛЬЗОВАТЕЛЬской записи в passwd, если пользователь, запускающий `su', не супер-пользователь и ПОЛЬЗОВАТЕЛЬская оболочка не ограниченная (см `-m' выше).


[Содержание]   [Назад]   [Пред]   [Вверх]   [След]   [Вперед]