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

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

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

3
задан 31 July 2012 в 09:23

2 ответа

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

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

.
0
ответ дан 31 July 2012 в 09:23

Что бы произошло

Если вы сконфигурируете свою систему так, чтобы ни один пользователь не был администратором, тогда никто не сможет выполнять административные задачи как root с sudo (или его графические интерфейсы, такие как gksu , gksudo и kdesudo ) или PolicyKit . Предполагая, что учетная запись root остается отключенной, вы не сможете войти в систему как root (даже с виртуальной консоли) или su -to- 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 ) или записать USB-флешку Ubuntu live (на 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 для выполнения действий от имени пользователя root, поскольку любой, кто может скомпрометировать вашу учетную запись таким образом, чтобы прочитать ваш собственный пароль (для sudo), может также прочитать root пароль (для su). Кроме того, есть некоторые существенные преимущества ( объясненные здесь ) из sudo по сравнению с su, и включение учетной записи root, хотя вполне возможно, не рекомендуется и официально не поддерживается в Ubuntu.

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

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

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

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

0
ответ дан 31 July 2012 в 09:23

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

Похожие вопросы: