Название (смущающее как оно есть) говорит обо всем. Сначала немного контекста:
Я использую NixOS, используя собственный ISO на Vultr.
Сроки попыток:
which sudo
показывает не 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
Редактировать : окончательный набор сработавших шагов:
- Как указано в ответе, enable sudo first:
security.sudo.enable = true;
- Добавить раздел sudoers в
/etc/nixos/configuration.nix
:
# Allow members of the "wheel" group to sudo:
security.sudo.configFile = ''
%wheel ALL=(ALL) ALL
'';
- Добавьте себя к
wheel
:
usermod -a -G wheel agam