В чем разница между Sudo и Su в Linux?

Оглавление:

В чем разница между Sudo и Su в Linux?
В чем разница между Sudo и Su в Linux?

Видео: В чем разница между Sudo и Su в Linux?

Видео: В чем разница между Sudo и Su в Linux?
Видео: Новый налог на транзакции PayPal, Venmo, Amazon / что важно знать - YouTube 2024, Апрель
Anonim
Если вы пользователь Linux, вы, вероятно, видели ссылки на sudo и su. Статьи здесь о How-To Geek и в другом месте инструктируют пользователей Ubuntu использовать sudo и другие пользователи Linux-дистрибутивов для использования su, но в чем разница?
Если вы пользователь Linux, вы, вероятно, видели ссылки на sudo и su. Статьи здесь о How-To Geek и в другом месте инструктируют пользователей Ubuntu использовать sudo и другие пользователи Linux-дистрибутивов для использования su, но в чем разница?

Sudo и su - два разных способа получить привилегии root. Каждый из них работает по-другому, а разные дистрибутивы Linux по умолчанию используют разные конфигурации.

Корневой пользователь

Как su, так и sudo используются для запуска команд с правами root. Пользователь root в основном эквивалентен пользователю администратора в Windows - пользователь root имеет максимальные разрешения и может делать что-либо в системе. Обычные пользователи Linux работают с ограниченными разрешениями - например, они не могут устанавливать программное обеспечение или записывать в системные каталоги.

Чтобы сделать что-то, требующее этих разрешений, вам придется приобретать их с помощью su или sudo.

Су против Судо

Команда su переключается на суперпользователя - или пользователя root - при его выполнении без дополнительных параметров. Вам нужно будет ввести пароль учетной записи root. Это еще не все команды su, но вы можете использовать его для переключения на любую учетную запись пользователя. Если вы выполните su bob, вам будет предложено ввести пароль Боба, а оболочка переключится на учетную запись пользователя Боба.

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

Sudo запускает одну команду с привилегиями root. Когда вы выполняете команда sudo, система предложит вам ввести пароль своего текущего пользователя перед запуском команда как пользователь root. По умолчанию Ubuntu запоминает пароль в течение пятнадцати минут и не будет запрашивать пароль еще до 15 минут.

Это ключевое различие между su и sudo. Su переводит вас в корневую учетную запись пользователя и требует пароль учетной записи root. Sudo запускает одну команду с привилегиями root - она не переключается на пользователя root или не требует отдельного пароля пользователя root.
Это ключевое различие между su и sudo. Su переводит вас в корневую учетную запись пользователя и требует пароль учетной записи root. Sudo запускает одну команду с привилегиями root - она не переключается на пользователя root или не требует отдельного пароля пользователя root.

Ubuntu vs. Другие дистрибутивы Linux

Команда su является традиционным способом получения корневых разрешений для Linux. Команда sudo существует в течение длительного времени, но Ubuntu был первым популярным дистрибутивом Linux, который отправляется sudo-only по умолчанию. Когда вы устанавливаете Ubuntu, создается стандартная учетная запись root, но пароль ей не назначается. Вы не можете войти в систему под учетной записью root, пока не назначите пароль учетной записи root.

Существует несколько преимуществ использования sudo вместо su по умолчанию. Пользователи Ubuntu должны предоставлять и запоминать только один пароль, тогда как Fedora и другие дистрибутивы требуют, чтобы во время установки вы создавали отдельные пароли root и учетных записей пользователей.
Существует несколько преимуществ использования sudo вместо su по умолчанию. Пользователи Ubuntu должны предоставлять и запоминать только один пароль, тогда как Fedora и другие дистрибутивы требуют, чтобы во время установки вы создавали отдельные пароли root и учетных записей пользователей.

Другим преимуществом является то, что он не позволяет пользователям регистрироваться в качестве пользователя root - или использовать su для получения корневой оболочки - и держать корневую оболочку открытой для нормальной работы. Выполнение меньшего количества команд с правами администратора повышает безопасность и предотвращает случайные общесистемные изменения.

Распределения на основе Ubuntu, включая Linux Mint, также используют sudo вместо su по умолчанию.

Несколько трюков

Linux является гибким, поэтому не нужно много работать, чтобы su работать аналогично sudo - или наоборот.

Чтобы запустить одну команду в качестве пользователя root с помощью su, выполните следующую команду:

su -c ‘command’

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

Чтобы получить полную интерактивную корневую оболочку с помощью sudo, запустите судо -i.

Вы должны будете указать пароль текущего пользователя, а не пароль учетной записи root.
Вы должны будете указать пароль текущего пользователя, а не пароль учетной записи root.

Включение корневого пользователя в Ubuntu

Чтобы включить учетную запись пользователя root в Ubuntu, используйте следующую команду, чтобы установить для нее пароль. Имейте в виду, что Ubuntu рекомендует против этого.

sudo passwd root

Sudo предложит вам ввести пароль вашего текущего пользователя, прежде чем вы сможете установить новый пароль. Используйте новый пароль для входа в систему как пользователь root из приглашения на вход терминала или с помощью команды su. Вы никогда не должны запускать полную графическую среду в качестве пользователя root - это очень плохая практика безопасности, и многие программы откажутся работать.

Image
Image

Добавление пользователей в файл Sudoers

Только учетные записи типа администратора в Ubuntu могут запускать команды с sudo. Вы можете изменить тип учетной записи пользователя из окна конфигурации учетных записей пользователей.

Ubuntu автоматически определяет учетную запись пользователя, созданную во время установки, в качестве учетной записи администратора.
Ubuntu автоматически определяет учетную запись пользователя, созданную во время установки, в качестве учетной записи администратора.
Image
Image

Если вы используете другой дистрибутив Linux, вы можете предоставить пользователю право использовать sudo, запустив visudo команда с привилегиями root (поэтому запускается су сначала или использовать su -c).

Добавьте в файл следующую строку, заменив пользователь с именем учетной записи пользователя:

user ALL=(ALL:ALL) ALL

Нажмите Ctrl-X а потом Y для сохранения файла. Вы также можете добавить пользователя в группу, указанную в файле. Пользователи в группах, указанных в файле, автоматически получат привилегии sudo.

Image
Image

Графические версии Su

Linux также поддерживает графические версии su, которые запрашивают ваш пароль в графической среде. Например, вы можете запустить следующую команду, чтобы получить приглашение графического пароля и запустить браузер файлов Nautilus с правами root. Нажмите Alt-F2 для запуска команды из диалогового окна графического запуска без запуска терминала.

gksu nautilus

Команда gksu также имеет несколько других трюков в рукаве - она сохраняет ваши текущие настройки рабочего стола, поэтому графические программы не будут выглядеть неуместными при запуске их как другого пользователя. Такие программы, как gksu, являются предпочтительным способом запуска графических приложений с привилегиями root.
Команда gksu также имеет несколько других трюков в рукаве - она сохраняет ваши текущие настройки рабочего стола, поэтому графические программы не будут выглядеть неуместными при запуске их как другого пользователя. Такие программы, как gksu, являются предпочтительным способом запуска графических приложений с привилегиями root.

В зависимости от используемого дистрибутива Linux Gksu использует либо su, либо sudo-backend.

Теперь вы должны быть готовы встретить как su, так и sudo! Вы столкнетесь с обоими, если используете разные дистрибутивы Linux.

Рекомендуемые: