ryg

Команда sudo -выполнить команду от лица другого пользователя

Назначение:

Выполнить команду под другим пользователем

Позволяет разрешенному пользователю выполнить команду как суперпользователю или под другим пользователем как определено в файле sudoers

Синтаксис:

sudo [ -H ] [-P ] [-S ] [ -b ] command
sudo [ -p prompt ] [ -c class|- ] [ -a auth_type ] [ -u username|#uid ] command
sudo -V | -h | -l | -L | -v | -k | -K | b command

Параметры:

-a Тип авторизации. Данный параметр возможен только в системе поддерживающей BSD авторизацию
-b Параметр (background) говорит sudo о необходимости запуска в фоновом режиме. Замечание: при использовании данного режима невозможно использование оболочки контроля  и управления задачами
-c Данная опция позволяет запустить команду с ресурсами ограниченными классом указанным в файле /etc/login.conf, либо аргументом может быть '-' 
-h Помощь (help) - выводит подсказку по параметрам использования команды sudo в OS X
-H Устанавливает переменную окружения HOME в домашнюю директорию пользователя, под именем которого запускается (по умолчанию root). По умолчанию sudo не модифицирует данную переменную
-k Отменяет метку времени пользователя. Следующий запуск sudo потребует пароль
-K Аналогично -k,  но не требует подтверждения
-l Выводит список команд разрешенных для пользователя
-L Выводит список параметров, которые могут быть установлены по умолчанию. Полезно при использовании с командой grep
-p  
-P  
-s  
-S  
-u параметр говорит команде sudo выполнить под пользователем отличным от root. Необходимо указать пользователя
-v обновляет метку времени пользователя и предлагает пользователю ввести пароль если необходимо. Если в течение 5 минут пароль не буте введен, команда не выполняется.
-V Показывает версию sudo
-- показывает, что sudo должна остановить обработку параметров командной строки

Примеры:

		$ sudo !!

выполнить предыдущую команду из под root пользователя

		$ sudo -u www vi ~www/htdocs/index.html

редактировать файл index.html от имени пользователя www

Sudo использует следующие переменные окружения: HOME, PATH, SHELL, USER, SUDO_PROMPT, SUDO_COMMAND, SUDO_USER, SUDO_UID, SUDO_GID and SUDO_PS1

Sudo требует чтобы пользователь подтвердил себя своим паролем (не root) и обновляет временную метку, после этого она не будет требовать пароля в течение 5 минут. Определение пользователя происходит на основании данных из файла /etc/sudoers 

В случае успешного выполнения команды sudo  возвращает значение возвращаемое командой из параметров, в противном случае возвращается 1

Используемые файлы

/etc/sudoers  - в файле описываются права на выполнение отдельных команд пользователями. 
/var/run/sudo - содержит метки времени

Другие полезные команды:

login - авторизировать пользователя
visudo - редактор позволяющий редактировать и проверять синтаксис файла /etc/sudoers
su - Заменить идентификатор пользователя.
passwd - изменить пароль пользователя
dsenableroot - активировать root пользователя и установить пароль
grep - 
Password generator
Весь список команд terminal Mac OS X