No NixOS, como adicionar um usuário ao arquivo sudoers?

3

Eu instalei e estou tentando começar com o NixOS e estou tentando adicionar meu usuário ao arquivo sudoers.

Para que eu não execute todos os meus comandos como root, criei um usuário seguindo Capítulo 7. Gerenciamento de usuários do manual do NixOS. Ou seja, eu corri

# useradd -m matthew
# su - matthew -c "true"
# passwd matthew
Enter new UNIX password: ***
Retype new UNIX password: ***

E também adicionei

users.extraUsers.matthew = {
    isNormalUser = true;
    home = "/home/matthew";
    extragroups = [ "wheel" "networkmanager" ];
}

para /etc/nixos/configuration.nix . Mas ainda não consigo executar sudo as matthew . Por exemplo, quando tento abrir a página de manual do sudo com o sudo, recebo o erro matthew is not in the sudoers file .

$ sudo man sudo
[sudo] password for matthew:
matthew is not in the sudoers file. This incident will be reported.

Então tentei seguir o aconselhamento sobre como para adicionar um usuário ao arquivo sudoers em outras distribuições, ou seja, editando com $ visudo . Mas quando eu executo isso, nixos me diz para não editar esse arquivo. Ou seja, executando

$ visudo

abre /etc/sudoers.tmp com a leitura da primeira linha

# Don't edit this file. Set the NixOS option ‘security.sudo.configFile’ instead.

Como defino a opção NixOS como "security.sudo.configFile"?

    
por mherzl 09.07.2017 / 23:29

2 respostas

2

Primeiramente, adicionar o usuário com useradd e editar users.extraUsers é redundante. Eu nunca me incomodei com useradd no NixOS.

Quanto à configuração do sudo, o que você faz é definir o atributo como uma string contendo o que você normalmente colocaria em sudoers.

...
security.sudo.configFile = ''
   Sudoers config goes here
''
...
    
por 10.07.2017 / 03:35
2

Meu palpite é que, no seu caso, o problema vem do fato de que você criou o mesmo usuário tanto imperativamente (com useradd ) quanto declarativamente (em configuration.nix ).

Primeiro, certifique-se de executar nixos-rebuild switch após cada alteração para /etc/nixos/configuration.nix . Segundo, se isso não for suficiente, é provável que as opções que você passou declarativamente não possam ser usadas, dado que o usuário já foi criado. Nesse caso, remover o usuário primeiro e executar nixos-rebuild switch deve resolver o problema.

    
por 10.07.2017 / 14:15

Tags