По умолчанию Ubuntu не устанавливает пароль root, и поэтому вы не можете войти в систему с правами root. Вместо этого вам предоставляется возможность выполнять задачи с привилегиями суперпользователя, используя sudo.
Я ответил a аналогичный вопрос раньше.
Пока вы можете создать пароль для учетной записи root, позволяющий войти в систему с правами root с su
, это не типичный способ выполнения Ubuntu. Вместо этого Ubuntu ожидает, что вы будете использовать sudo
.
Использование sudo
Sudo - это альтернатива предоставлению людям пароля root для выполнения обязанностей суперпользователя. При установке Ubuntu по умолчанию пользователю, который установил ОС, по умолчанию предоставляется разрешение "sudo".
Любой, у кого есть разрешение "sudo", может выполнить что-то "как суперпользователь" с помощью предварительно ожидающего sudo
к своей команде. Например, чтобы запустить apt-get dist-upgrade
в качестве суперпользователя, вы можете использовать:
sudo apt-get dist-upgrade
По умолчанию sudo будет запрашивать у вас собственный пароль учетной записи при выполнении этого. Это помогает безопасности. Это запомнится в течение нескольких минут, поэтому, если у вас есть несколько задач, связанных с sudo, он будет запрашивать у вас только пароль.
Вы увидите вышеупомянутое использование sudo почти везде, где вы читаете учебник по Ubuntu в Интернете. Это альтернатива этому.
su
apt-get dist-upgrade
exit
Преимущества
С помощью sudo вы заранее выбираете, какие пользователи имеют доступ к sudo. Им не нужно помнить пароль root, поскольку они используют свой собственный пароль. Если у вас несколько пользователей, вы можете отменить доступ к суперпользователю, просто удалив их разрешение sudo, не требуя изменения пароля root и уведомляя каждого нового пароля. Вы даже можете выбрать, какие команды пользователю разрешено выполнять с помощью sudo и какие команды запрещены для этого пользователя. И, наконец, если есть нарушение безопасности, он может в некоторых случаях оставить лучший контрольный журнал, показывающий, какая учетная запись пользователя была скомпрометирована.
Не имея пароля root, атаки грубой силы на корневую учетную запись невозможны: это актуально, если вы разрешаете логин через SSH. Вместо этого злоумышленник должен знать локальное имя учетной записи.
Sudo упрощает выполнение одной команды с привилегиями суперпользователя. С su
вы постоянно переходите к оболочке суперпользователя, которая должна быть выведена с использованием exit
или logout
. Это может привести к тому, что люди остаются в оболочке суперпользователя дольше, чем это необходимо, только потому, что это более удобно, чем выходить из системы и позже.
Получение оболочки root
С помощью sudo у вас все еще есть возможность открыть постоянную (интерактивную) оболочку суперпользователя с помощью команды:
sudo su
... и это можно сделать без пароля root, потому что sudo
предоставляет привилегии суперпользователя команде su
.
И аналогично вместо su -
для оболочки входа вы можете использовать sudo su -
или даже sudo -i
.
Однако при этом вам просто нужно знать, что вы выступаете в качестве суперпользователя для каждой команды. Это хороший принцип безопасности, чтобы не оставаться суперпользователем дольше, чем необходимо, просто чтобы уменьшить вероятность случайного нанесения какого-либо ущерба системе (без этого вы можете только повредить файлы, которыми владеет ваш пользователь).
Чтобы уточнить, вы можете , если вы выберете, предоставите корневому пользователю пароль, разрешающий вход в систему как пользователь root, если вы специально хотите сделать это таким образом. Я просто хотел сообщить вам о соглашении Ubuntu о предпочтительности sudo
и сообщить вам, что есть альтернатива.