Що відрізняється між коренем і судо?


14

Користувач root може мати всі привілеї. Але звичайний користувач може отримати доступ, як root, за допомогою команди su або sudo та власного пароля.

То яка різниця?

Відповіді:


7

Команда su(і sudo) традиційно вимагає пароля root . Однак ви можете налаштувати sudoтак, щоб звичайні користувачі могли отримувати привілеї root за допомогою власного пароля, змінюючи /etc/sudoers(як root, бажано з visudo).

Сучасні дистрибутиви Linux заздалегідь налаштовують першого користувача, який зможе користуватися своїм паролем. Це запобігає випадковій неправильній конфігурації системи користувачем та дозволяє їм отримати повний контроль без необхідності окремого пароля root.


2
Ви повинні використовувати «visudo» замість редагування вручну / etc / sudoers - синтаксис буде перевірено перед збереженням, що може врятувати вам певні проблеми.
Ніколас

@Nicolas Оновлено, щоб включити це. Але я хотів зазначити, що файл записується автоматично сучасними дистрибутивами.
фігаг

3

Звичайний користувач може отримати кореневий доступ лише з sudo, якщо вони є у файлі sudoers (це означає, що їм достатньо довіри, щоб отримувати права адміністратора на вимогу). У виробничих умовах майже ніхто не повинен бути судером.


3

Задайте suкоманду тимчасово змінити особу будь-якому користувачеві в системі та виконати безліч програм із його / її дозволами. Це не повинно бути коренем. Якщо користувач, який виконує su, не є коренем, він повинен ввести пароль користувача, якого він хоче отримати, посвідчуючи особу.

sudoКоманда повинна виконати одну команду з правами будь-якого користувача. Це також не повинно бути коренем. Команда дуже настроюється і забезпечує якийсь точний контроль доступу. Введення власного пароля необов’язкове та налаштоване. Деякий дистрибутив дозволив першому користувачеві системи виконати sudoвсе.


2

Щоб додати до наведених відповідей,

su user1з паролем користувача повинен переключити ваш обліковий запис на user1, поки ви не введете команду exit, просто suнабуває root за замовчуванням.

sudoяк зазначено в інших відповідях, може бути надано довіреним користувачам і обмежений набір команд. крім того, sudoможе бути налаштовано на журнал виконаних команд. Це хороший спосіб відстежити зловживання привілеєм.


1

Не всі звичайні користувачі можуть використовувати sudo, вони повинні бути у файлі sudoers, і ви можете контролювати, які команди чи типи команд може виконувати користувач. Крім того, лише певні користувачі можуть використовувати su для переходу на кореневого користувача. Зазвичай у вас є дозволи sudo лише для обмеженого набору команд та повних дозволів su протягом обмеженого періоду часу.


3
майже впевнений, що всі користувачі можуть використовувати su, їм просто знадобиться пароль користувача, до якого вони переходять.
Граді гравець

1
Традиційно BSD вимагає, щоб хтось був у групі коліс, щоб дозволити користуванню su стати корінним. Це можна налаштувати і в Linux, але це не є стандартним.
Jaap Eldering

-2

Судо або су, лише звичайні користувачі можуть користуватися правами супер-користувачів. Це налаштовано в / etc / sudoers, який завжди повинен редагуватися візуально.

Перевагами цієї системи є:

  1. Привілейованому користувачеві легко запускати команди як root лише за потреби,
  2. ускладнює відгадування кореневого імені користувача (наприклад, якщо простий ssh-бот спробував увійти в систему, це rootбуло б перше ім’я для входу).
  3. Кілька користувачів у спільній системі можуть мати root права, не потребуючи спільного використання паролів.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.