Каковы различия между sudo, su, visudo, chroot и gksu?

Ответы:

24
  • chrootэто способ ввода папки и «фальсификации» этой папки /для всего, что выполняется внутри. Это позволяет запускать исполняемые файлы в не загружающейся установке Ubuntu, монтируя ее где-то, кроме /и используя /bin/bash(тот, что внутри установки), чтобы получить приглашение терминала.

  • sudo- Позволяет определенным учетным записям проходить проверку подлинности для запуска программы от имени пользователя root или другого пользователя. Некоторые программы могут не нуждаться в пароле, как определено в sudoersфайле. Если запрос разрешен или нет , зависит от пользователя (и группы) работает sudo, и команда будет работать, как это определено в sudoers.

  • su- Также способ повышения прав, но имеет различия, так как он выполняет полный интерактивный вход в систему от имени пользователя root (или другого пользователя) и выдает приглашение bash, если не указано иное с аргументами. В качестве аутентификации он использует учетные данные целевого пользователя.

  • visudo- Редактирует sudoersфайл. При этом используется специальный исполняемый файл, который проверяет синтаксис файла, чтобы убедиться, что вы не заблокированы из- sudoза поврежденного sudoersфайла. Если вы попытаетесь сохранить неверную конфигурацию, она остановит вас и вернет вас в редактор, чтобы исправить это.

  • gksudoилиgksu то же самое, что и sudo, за исключением того, что он является графическим и переписывает некоторые пути, чтобы графические программы не вызывали проблем с разрешениями в профиле пользователя, особенно с ~/.Xauthority.

ζ--
источник
1
Чтобы быть точным suи sudoпозволять запускать процессы от имени другого пользователя , он не должен быть пользователем root. suвсегда можно использовать для переключения на любого другого пользователя (аутентификация с учетными данными этого пользователя). Хотя он sudoможет быть специально настроен для разрешения выполнения определенных программ в определенном пользовательском контексте конкретными пользователями. Чаще всего оба используются для получения привилегий root.
Пол Хэнш
44

Sudo:

Sudo (superuser do) позволяет системному администратору предоставлять определенным пользователям (или группам пользователей) возможность выполнять некоторые (или все) команды от имени пользователя root при регистрации всех команд и аргументов. Судо работает на основе команд.

Это не замена для оболочки.

Возможности включают в себя: возможность ограничивать какие команды пользователь может запускать для каждого хоста, обильное ведение журнала каждой команды (предоставляя четкий контрольный журнал того, кто что сделал), настраиваемый тайм-аут команды sudo и возможность использования один и тот же файл конфигурации (sudoers) на разных компьютерах.

источник

visudo

visudo - это утилита командной строки, которая позволяет безопасно редактировать /etc/sudoersфайл. Он открывается /etc/sudoersс использованием интерфейса редактора vi по умолчанию (хотя это можно изменить, установив переменную среды EDITOR оболочки в другой текстовый редактор), предотвращает множественное одновременное редактирование с блокировками, выполняет проверки работоспособности и проверяет ошибки синтаксического анализа.

источник

SU

Команда su, также называемая замещающим пользователем, суперпользователем или переключающим пользователем, позволяет оператору компьютера изменять текущую учетную запись пользователя, связанную с запущенной виртуальной консолью.

По умолчанию и без каких-либо других аргументов командной строки это повысит статус текущего пользователя до уровня суперпользователя локальной системы.

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

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

источник

корень

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

Корень слова также имеет несколько дополнительных, связанных значений при использовании в качестве части других терминов.

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

Другой /root(произносится как слэш-корень), который является домашним каталогом пользователя root.

Также это может относиться к пользователю root, который является администратором системы с полными привилегиями.

источник

корневой

Chroot - это операция, которая изменяет видимый корневой каталог для текущего запущенного процесса и его дочерних элементов. например, если вы используете chroot, /mnt/chroot-testкаталог /mnt/chroot-testбудет вашим виртуальным корнем, на который вы можете ссылаться /.

источник

Использование chroots

Ниже приведены некоторые возможные варианты использования chroot:

  1. Изоляция небезопасных и нестабильных приложений

  2. Запуск 32-битных приложений в 64-битных системах

  3. Тестирование новых пакетов перед их установкой в ​​производственную систему

  4. Запуск старых версий приложений на более современных версиях Ubuntu

  5. Создание новых пакетов, позволяющих тщательно контролировать установленные пакеты зависимостей

источник и дополнительная информация о chroot


источник
1
почти в замешательстве, на Ubuntu, Visudo использует Nano. Я нахожу простой способ запомнить, какой из них 'su' = переключить пользователя (на root - да, вы также можете использовать его для переключения на других пользователей), 'sudo' = переключить пользователя на root и do и выполнить chroot как ' изменить корень ». Не совсем точно, но достаточно близко, чтобы запомнить.
Подмастерье Компьютерщик
1
@JourneymanGeek Более точное и, как мне кажется, столь же простое расширение suмнемонического слова sudo- это sudoозначает «переключаемый пользователь DO» (то есть «делать как переключаемый пользователь») или «SuperUser DO» (то есть «делать как суперпользователь»). Это тогда делает sudoersэлегантно ассоциативным (то есть, «СДЕЛАЮЩИХСЯ пользователей с переключением», а не просто «(Смена пользователя и СДЕЛАЕТ»). Причина, по которой эти варианты являются более точными, заключается в том, что sudoкто-то может выполнять действие в качестве альтернативного пользователя, но не обязательно позволяет ему быть таким альтернативным пользователем в целом (в зависимости от содержимого /etc/sudoers).
Элия ​​Каган
@maythux: Это только одно значение для chroot . (Не просто спрашивайте Википедию.) Чаще всего это означает защищенную (и заблокированную) подсистему, работающую в Unix / Linux, которая позволяет использовать только небольшой набор исполняемых файлов (или служб).
david6
5

SU соединяет вас как root.

Терминал останется корневым для сеанса.

С помощью sudo (superuser do) вы можете выполнять операции как пользователь root, будучи подключенным как обычный пользователь.

португало
источник