Что делает сервис sudo?


17

Насколько я знаю, и кажется, что другие люди того же мнения sudo , это команда, которая выполняет что-то с административными привилегиями.

Однако, когда я бегу, rcconfя вижу эту строку:

[*] sudo    Provide limited super user privileges to specific users

Так какой смысл с этим сервисом? Или это даже услуга?


Это то , что я нашел во время поиска google-> Судо
ади

«Именно здесь приходит sudo - он позволяет авторизованным пользователям (обычно« административным »пользователям; для получения дополнительной информации, пожалуйста, обратитесь к AddUsersHowto) запускать определенные программы как Root без необходимости знать пароль root». - Это именно то, что я сказал в своем вопросе.
s3v3n

3
Вопрос об услуге, а не о команде
s3v3n 12.12.12

Ответы:


22

Короткий ответ

Отменить «кэшированные» действия аутентификации пользователей при перезагрузке. Это не демон, просто скрипт, запускаемый во время загрузки.


Обширный ответ

Изучив файл инициализации, /etc/init.d/sudoкоторый «запускает службу», вы можете легко увидеть, что он делает:

case "$1" in
  start)
        # make sure privileges don't persist across reboots
        if [ -d /var/lib/sudo ]
        then
                find /var/lib/sudo -exec touch -t 198501010000 '{}' \;
        fi
        ;;
  stop|reload|restart|force-reload)
        ;;
  *)
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

Так что, в основном, он просто касается некоторых файлов при /var/lib/sudoзапуске системы, чтобы получить очень старую метку времени модификации. В результате, «кэшированные» предоставленные действия аутентификации отменяются при запуске службы (что происходит при загрузке).

Еще немного подробностей о /var/lib/sudoкаталоге и этих отметках времени, пожалуйста? Ну из карты sudo(8):

[...]
Once a user has been authenticated, a time stamp is updated and the
user may then use sudo without a password for a short period of time
(15 minutes unless overridden in sudoers).
[...]
Since time stamp files live in the file system, they can outlive a
user's login session.  As a result, a user may be able to login, run a
command with sudo after authenticating, logout, login again, and run
sudo without authenticating so long as the time stamp file's
modification time is within 15 minutes (or whatever the timeout is set
to in sudoers).
[...]
/var/lib/sudo           Directory containing time stamps

Идеальный ответ :)
s3v3n

12

sudoСлужебный файл существует , чтобы убедиться , что привилегии призвали не остаться после перезагрузки. По сути, это гарантирует, что после перезагрузки обычные пользователи, которые запрашивали разрешения root, останутся обычными пользователями.


Подробное объяснение о sudo

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

Когда вы устанавливаете Ubuntu или любой другой дистрибутив, который использует sudoразницу между тем, чтобы быть пользователем root и тем, кто использует sudoдля получения привилегий типа «root» (Административные права или привилегии суперпользователя), следующее:

Как корень

  • Вас не спрашивают пароль для каждой или всех команд, которые вы запускаете в сеансе
  • Не все выполняемые вами команды будут зарегистрированы по умолчанию
  • Система предполагает, что вы знаете, что делаете (причина, по которой она не запрашивает пароль при каждом выполнении команды)
  • Если вы допустили ошибку, у вас нет второго шанса или варианта в последнюю минуту

Как судо

  • Вас попросят ввести пароль для каждой или всех команд, которые вы запускаете в сеансе. Например, если вы открываете терминал и выполняете команду, которой требуются права администратора, он будет запрашивать пароль один раз для этого сеанса, пока вы не закроете терминал или не выйдете из системы. Это зависит от того, какую команду вы используете и где. Это может спросить один или несколько раз.
  • Все команды, которые вы выполняете, будут зарегистрированы, так как вы фактически запрашиваете разрешение на использование привилегированной команды суперпользователя.
  • Система предполагает, что вы временно запрашиваете разрешение, а административное право будет временно предоставлено (до выхода из системы, закрытия терминала и т. Д.)
  • У вас есть возможность исправить любую ошибку в последнюю минуту. Это делается в тот момент, когда вас попросят ввести пароль.

Почему был создан SUDO

Создание SUDO было сделано потому, что в прошлом использование root создавало больше проблем, чем решений. Пользователи должны были все права, а это означало , что если бы они сделали некоторую весеннюю уборку и буквально удалили /usr, /libи /binпапки (потому что они думали , что они не нуждались в них) .. думают , что это произойдет. Многие проблемы в прошлом были из-за того, что пользователи не знали, какую силу они имели при использовании root. В основном у них был root, но они не понимали Linux, иерархию файловой системы, какие файлы были важны и т. Д. (Что-то вроде наличия ferrari и незнания, как ездить ... на шоссе!)

SUDO также используется приложениями с графическим интерфейсом (например, Update Manager), когда им нужны временные административные привилегии, чтобы что-то делать. Им это нужно только для определенного количества команд (как правило, 1), а затем они возвращаются к привилегии уровня пользователя. Это делается для того, чтобы не иметь привилегий root и не допустить ошибки, если пользователь решит удалить какую-то важную часть системы.

Кроме того, это обеспечивает лучшую безопасность, поскольку пользователь root по умолчанию отключен.

Наконец, если у вас есть настольный ПК или сервер, вы действительно не хотите, чтобы все были root-пользователями и не имели всех прав администратора. Очень плохая идея, если ваша младшая сестра или младшие братья начинают задумываться о том, что произойдет, если /bootвстретится DELключ. Это то, где sudoприходит, чтобы уменьшить вероятность, что что-то плохое случится.

Что означает предоставление ограниченных привилегий суперпользователя конкретным пользователям ?

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

Для получения информации о том, как использовать тип файла sudoers man sudoersв терминале. Например нормальный формат:

ПОЛЬЗОВАТЕЛЬСКИЙ ХОСТ = КОМАНДЫ

Например cyrex server1 = /bin/ls, предоставит пользователю cyrex на хосте server1 доступ для запуска команды ls.

Например cyrex server1 (root) = /bin/ls, предоставит пользователю cyrex на хосте server1 доступ для запуска команды ls от имени пользователя root.

Например cyrex ALL = /bin/ls, предоставит пользователю cyrex на всех хостах доступ для запуска команды ls.

Например cyrex ALL = ALL, предоставит пользователю cyrex на всех хостах доступ для запуска всех команд.

Например luis ALL=(root) NOPASSWD: /bin/kill, /usr/bin/killall, позволит мне запустить Sudo для killи killallкоманд , как корень без запроса пароля.

введите описание изображения здесь


2
Он знает о том, что делает команда sudo. Вопрос о системном сервисе для sudo.
gertvdijk

1
@gertvdijk - мне сначала пришлось объяснить основы, так как не только он будет смотреть на этот вопрос. Последняя часть содержит единственную причину, по которой я вижу файл sudo в папке службы.
Луис Альварадо

Спасибо Луису Альварадо - Wolver за столь обширную информацию и спасибо за забавный модифицированный xkcd, ссылающийся на !!оператор bang bang, но что делает сервис (НЕ команда) sudo? Было бы здорово, если бы вы могли обновить свой ответ, чтобы действительно ответить на вопрос.
s3v3n

1
Немного излишеств, объясняющих все это только для фразы в конце, но это отвечает на мой вопрос;)
s3v3n

1
@ LuisAlvarado-TheWolverine Хаха, ты права. Это было хорошо, что вы ответили мне, да, я сделал .. Спасибо
Lucio
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.