Что происходит, если все пользователи установлены как стандартные, а пароль root не установлен

Я не смею делать так, как в названии.
Поэтому я сначала установил пароль root sudo passwd rootи затем я изменяю всех остальных пользователей на обычных пользователей, без администраторов, поэтому ни один пользователь не может sudo,
Если я хочу установить администратора, просто su root с установленным паролем.

Но теперь мне интересно, что произойдет, если я не установил пароль root в начале, а затем изменил всех пользователей на обычных пользователей. Значит ли это, что эта ОС не может быть настроена sudoers навсегда? Есть ли способ установить нового администратора?

2 ответа

Решение

Что случилось бы

Если вы настроите свою систему так, чтобы ни один пользователь не был администратором, то никто не сможет выполнять административные задачи, как root с sudo (или его графические интерфейсы, такие как gksu, gksudo, а также kdesudo) или PolicyKit. Предполагая, что root учетная запись остается отключенной, вы не сможете войти как root (даже с виртуальной консоли) или su -До- root или. За исключением возможных уязвимостей безопасности, это не позволит никому выполнять административные задачи в работающей системе.

Исправление проблемы

Однако, если вы это сделаете, проблема все равно будет легко решена, если у вас есть физический доступ к машине. Решение этой проблемы похоже на сброс забытого пароля, за исключением того, что вы добавляете пользователя в sudo и / или admin группы с usermod вместо сброса пароля с passwd,

Вот один из методов:

  1. Загрузитесь в режиме восстановления, удерживая Shift во время загрузки и выбирая его. Выберите опцию для root ракушка. Вы получите оболочку с # проворный (а не обычный $). Это означает, что это root ракушка. Любая команда, которую вы запускаете здесь, запускается как root,

  2. Если вы знаете свое имя пользователя, пропустите этот шаг. Чтобы узнать ваше имя пользователя, запустите ls /home, Это довольно надежный способ перечислить имена пользователей-пользователей вашей системы (при этом пропуская учетные записи, такие как www-data а также nobody которые используются внутри, но не представляют реальных людей).

  3. Запустите эти команды, чтобы добавить username в необходимую группу (ы), чтобы быть администратором. (Заменить username с реальным именем пользователя.)

    usermod -a -G sudo username
    usermod -a -G admin username

    Это отдельно пытается добавить пользователя к sudo а также admin групп. В выпусках Ubuntu до Ubuntu 11.10 администраторы были в admin группа. В Ubuntu 12.04 (и в будущих выпусках) администраторы находятся в sudo группа; если система 12.04 была обновлена ​​с предыдущего выпуска, обе группы будут существовать.

    Таким образом, вы можете поместить пользователя только в одну, если вы знаете какую, или вы можете просто запустить эти две команды и поместить их в зависимости от того, что существует. Я советую сделать это с двумя командами, чтобы, если одна группа не существовала, ошибка не прекращалась usermod от попытки добавить пользователя в другую группу.

Режим восстановления обычно доступен. Но иногда он может быть взломан, отключен или требовать пароль, и в этом случае вы можете загрузиться с live CD, chroot в установленную систему, и запустите usermod команды. Вот процедура для этого, адаптированная из моего гораздо более общего ответа здесь:

  1. Если у вас его еще нет, запишите Ubuntu live CD/DVD (в Ubuntu, Windows или Mac OS X) или запишите Ubuntu live USB flash (в Ubuntu, Windows или Mac OS X).

  2. В вашей системе Ubuntu (не в системе live CD/DVD/USB) выполните следующую команду в терминале (Ctrl + Alt + T). Вам не нужно быть администратором, чтобы сделать это.

    mount | grep ' on / '
    

    Вы должны включить пробелы перед on и после /,

  3. Эта команда производит что-то вроде /dev/sda1 on / type ext4 (rw,errors=remount-ro,commit=0) в качестве выхода. Текст перед on (без пробела) - это имя устройства раздела, содержащего корневую файловую систему вашей системы Ubuntu. Помните это (или запишите это).

  4. Загрузите компьютер с живого CD / DVD / USB и выберите Try Ubuntu without installing (не Install Ubuntu).

  5. Запустите эти команды, заменив /dev/sda1 с именем устройства раздела, содержащего корневую файловую систему вашей системы Ubuntu, если отличается (и username с именем учетной записи пользователя, которую вы хотите дать административные возможности).

    sudo mount /dev/sda1 /mnt
    sudo chroot /mnt
    usermod -a -G sudo username
    usermod -a -G admin username
    exit
    sudo umount /mnt

    Как и с другим методом, вы можете использовать ls /home (запустите это после chroot команда), чтобы увидеть список пользователей на машине, если вы не знаете имя пользователя.

Альтернативы ликвидации администраторов

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

Если вы решите, что даже если sudo и PolicyKit требуют ваш пароль для выполнения действий, как root вы все еще хотите, чтобы вы и все другие пользователи-пользователи на вашем компьютере работали как обычный пользователь (а не как администратор, который может запускать команды как root), у вас есть два простых варианта:

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

  2. Лучше всего просто создать другую учетную запись пользователя для административных целей. Сделайте эту учетную запись администратором. Наличие не root учетная запись, которая может выполнять административные задачи с sudo и PolicyKit не заставляет вас использовать эту учетную запись для повседневных неадминистративных задач.

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

Действительно, у вас была бы система без администраторов, но это можно было бы исправить, загрузившись в режиме восстановления или используя живой сеанс для редактирования /etc/sudoers и / или /etc/group,

Обратите внимание, что установка пароля для пользователя root не рекомендуется. Пожалуйста, смотрите https://help.ubuntu.com/community/RootSudo

Другие вопросы по тегам