По умолчанию Ubuntu не устанавливает пароль пользователя root, и поэтому вы не можете войти в систему как пользователь root. Вместо этого вам предоставляется возможность выполнять задачи с привилегиями суперпользователя с помощью sudo.
Я ответил на аналогичный вопрос раньше.
Несмотря на то, что вы можете создать пароль для учетной записи 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 делает невозможными атаку методом подбора на учетную запись root: это актуально, если вы разрешаете вход через SSH. Вместо этого злоумышленник должен знать имя локальной учетной записи.
Sudo упрощает выполнение одной команды с привилегиями суперпользователя. С помощью su
вы навсегда перейдете в оболочку суперпользователя, которую необходимо закрыть с помощью exit
или logout
. Это может привести к тому, что люди будут оставаться в оболочке суперпользователя дольше, чем необходимо, только потому, что это удобнее, чем выход из системы и повторный вход позже.
Получение корневой оболочки
С помощью sudo у вас все еще есть возможность открыть постоянную (интерактивную) оболочку суперпользователя с помощью команды:
sudo su
... и это все еще можно сделать без какого-либо пароля root, потому что sudo
дает привилегии суперпользователя для su
команды.
И аналогично, вместо su -
оболочки входа в систему вы можете использовать sudo su -
или даже sudo -i
.
Однако при этом вам просто нужно знать, что вы действуете как суперпользователь для каждой команды. Это хороший принцип безопасности - не оставаться суперпользователем дольше, чем это необходимо, просто чтобы уменьшить вероятность случайного повреждения системы (без него вы можете повредить только файлы, которыми владеет ваш пользователь).
Просто чтобы уточнить, вы можете , если вы решите, дать пользователю root пароль, позволяющий входить в систему как root, если вы специально хотите сделать это таким образом. Я просто хотел сообщить вам о соглашении Ubuntu о предпочтениях sudo
вместо этого и дать вам знать, что есть альтернатива.