Как отключить пароль root в NixOS?

Вопрос или проблема

Я пытался установить users.users.root.hashedPassword = "*"; аналогично sudo passwd -d root или

user { 'root':
  password => '*',
  require  => Package[ruby-shadow],
}

в Puppet, но после sudo nixos-rebuild switch я все равно могу использовать su - со старым паролем.

Вам нужно установить mutableUsers в false и пароль пользователя.

users = {

 # объявление обычных пользователей здесь

  mutableUsers = false;

  extraUsers = {

    root = {
      hashedPassword = "*";
    };
     user = {
      hashedPassword = "user-password";
    }; 
   };
};

Манул: man configuration.nix

   users.users.<name?>.hashedPassword
       Указывает захешированный пароль для пользователя. Опции
       hashedPassword, password и passwordFile управляют тем, какой пароль установлен для пользователя. hashedPassword переопределяет и password, и passwordFile. password переопределяет passwordFile. Если ни одна из этих трех опций не установлена, пользователю не будет назначен пароль, и он не сможет выполнять вход по паролю. Если опция users.mutableUsers равна true, пароль, заданный в одной из трех опций, будет установлен только при создании пользователя в первый раз. После этого вы можете свободно менять пароль с помощью обычных команд управления пользователями. Если users.mutableUsers равен false, вы не сможете менять пароли пользователей, они всегда будут установлены в соответствии с опциями пароля.

Вы можете установить метку для тестирования нового генератора (обозначенную noroot):

nixos-rebuild switch -p noroot -I nixos-config=/etc/nixos/configuration.nix

Ответ или решение

Чтобы отключить пароль для пользователя root в системе NixOS, необходимо выполнить несколько шагов, обеспечивающих корректную конфигурацию. Этот процесс требует осторожности и точности, так как управление учетными записями пользователей в NixOS осуществляется через настройки в файле конфигурации. Вот подробная процедура для отключения пароля root:

Шаг 1: Откройте файл конфигурации

Откройте файл /etc/nixos/configuration.nix с помощью вашего любимого текстового редактора:

sudo nano /etc/nixos/configuration.nix

Шаг 2: Настройка параметров пользователей

Внутри конфигурационного файла вам необходимо внести следующие изменения:

  1. Установите параметр mutableUsers в false. Это важно, так как он отвечает за то, могут ли пароли пользователей изменяться после их первоначальной настройки.

  2. Настройте пользователя root, установив его hashedPassword в *. Это значение будет означать, что у пользователя root нет действующего пароля.

Ваши настройки должны выглядеть примерно так:

{ 
  users = {
    mutableUsers = false;

    extraUsers = {
      root = {
        hashedPassword = "*";
      };
      user = {
        hashedPassword = "user-password";  # Установите пароль для обычного пользователя
      };
    };
  };
}

Шаг 3: Примените изменения

После редактирования файла сохраните изменения и закройте редактор. Теперь вам нужно применить новые настройки, выполнив команду:

sudo nixos-rebuild switch

Шаг 4: Проверьте изменения

После завершения процесса пересборки системы вы можете проверить, что доступ к учетной записи root теперь заблокирован. Для этого попытайтесь выполнить команду:

su -

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

Дополнительная информация

  • Убедитесь, что вы имеете доступ к учетной записи с правами sudo, чтобы в будущем выполнять административные команды.
  • Для тестирования новой конфигурации вы можете использовать метку, чтобы создать изолированную среду (например, с меткой noroot):
nixos-rebuild switch -p noroot -I nixos-config=/etc/nixos/configuration.nix

Заключение

Следуя этим шагам, вы сможете успешно отключить пароль для пользователя root в NixOS. Применение изменения параметров конфигурации обеспечит безопасность вашей системы, ограничив потенциальные риски, связанные с доступом к суперпользователю. Всегда помните, что управление учетными записями является критически важной частью обеспечения безопасности вашего окружения.

Оцените материал
Добавить комментарий

Капча загружается...