【发布时间】:2019-03-15 21:51:43
【问题描述】:
标题(虽然很尴尬)说明了一切。首先是一些上下文:
我在 Vultr 上使用自定义 ISO 运行 NixOS。
尝试的时间范围:
-
which sudo没有显示 sudo - 使用
nix-env -i sudo安装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. Vultr 提供的自定义 ISO 是……缺少一些东西
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
编辑:最后一组有效的步骤:
- 按照答案中的建议,启用 sudo 首先:
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
【问题讨论】:
-
stackoverflow 用于编程问题。尝试超级用户。
-
当然,我会这样做的。我在 SO 上看到了 很多 与 Nix/NixOS 相关的问题,所以认为这很好,但我同意这可以被视为 sysadmin-y 的事情也是。
标签: nixos