Не получается заставить sudo работать под NixOS
Название (как это ни стыдно) говорит само за себя. Сначала немного контекста:
Я запускаю NixOS, используя собственный ISO на Vultr.
Сроки попыток:
which sudo
не показывает судо- Установлены
sudo
с помощьюnix-env -i sudo
- Затем, когда я пытался
sudo ...
, Я вижуsudo: /home/agam/.nix-profile/bin/sudo must be owned by uid 0 and have the setuid bit set
sudo su
не работал по той же причине- Ладно я его удалил (
nix-env --uninstall sudo
) - Подумал хм, может я должен установить его как root?
- Так,
su
а затем повторите установку - Теперь, когда я пытаюсь
sudo ...
, Я вижуsudo: /nix/var/nix/profiles/default/bin/sudo must be owned by uid 0 and have the setuid bit set
(поэтому та же ошибка, что и раньше, с другим путем) - В крайнем случае, попробуйте молоток и слава NixOS за то, что меня остановили:
[root@nixos:/home/agam]# chmod 4755 /nix/var/nix/profiles/default/bin/sudo
chmod: changing permissions of '/nix/var/nix/profiles/default/bin/sudo': Read-only file system
Есть какие-нибудь подсказки о том, что здесь происходит?
Вот некоторые возможные варианты, которые я вижу здесь:
1. Пользовательский ISO-образ, предоставленный Vultr, был... пропущен что-то 2. Некоторые принципиально разные способы, которыми sudo
должен работать в NixOS
3. Я упускаю что-то очень простое в том, как использовать Nix (скорее всего!)
Некоторые детали:
[agam@nixos:~]$ nixos-version
18.09.1534.d45a0d7a4f5 (Jellyfish)
[agam@nixos:~]$ which sudo
/nix/var/nix/profiles/default/bin/sudo
[agam@nixos:~]$ nix-channel --list
nixos https://nixos.org/channels/nixos-18.09
(Примечание: первоначально размещено на StackOverflow, было рекомендовано спросить здесь!)
0 ответов
Поскольку NixOS полностью настроен, в sudo должно быть только одно место для включения и выключения: ваш конфиг NixOS (который, вероятно, находится в /etc/nixos/configuration.nix
).
Опция security.sudo.enable
должно быть true
по умолчанию, но, может быть, вы импортируете модуль, который переопределяет по умолчанию? Установка его в true
явно должен пролить свет на это.