NixOS에서 sudoers 파일에 사용자를 추가하는 방법은 무엇입니까?

NixOS에서 sudoers 파일에 사용자를 추가하는 방법은 무엇입니까?

NixOS를 설치하고 시작하려고 시도했으며 sudoers 파일에 내 사용자를 추가해 보았습니다.

모든 명령을 루트로 실행하지 않도록 사용자를 만들었습니다.7장 사용자 관리NixOS 매뉴얼. 즉, 도망쳤다.

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

나도 추가했다

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

도착하다 /etc/nixos/configuration.nix. 하지만 아직 sudo실행할 수 없습니다 matthew. 예를 들어, sudo를 사용하여 sudo의 매뉴얼 페이지를 열려고 하면 오류가 발생합니다 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.

그런 다음 다음을 시도합니다.제안다른 배포판에서 sudoers 파일에 사용자를 추가하는 방법, 즉 $ visudo. 즉, 실행

$ visudo

/etc/sudoers.tmp첫 번째 줄부터 읽으세요.

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

NixOS 옵션 "security.sudo.configFile"을 설정하는 방법은 무엇입니까?

답변1

wheel그룹 에 사용자를 추가하면 sudo 권한을 얻을 수 있습니다.

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

뒤쪽에새 Linux 그룹에 사용자를 추가했습니다.로그아웃한 후 로그인하세요., 이러한 변경 사항을 적용하려면(새 그룹)

편집: 위 질문 아래의 의견에서 알 수 extraGroups있듯이 extragroups.

답변2

첫째, 사용자 useradd와 편집자를 추가하는 것은 users.extraUsers중복됩니다. 저는 useraddNixOS를 사용하면서 이런 문제를 겪은 적이 없습니다.

sudo 구성의 경우 security.sudo.configFile일반적으로 sudoers에 넣는 내용이 포함된 문자열을 설정하기만 하면 됩니다.

security.sudo.configFile = ''
   Sudoers config goes here
''

답변3

내 생각에는 귀하의 경우 문제는 동일한 사용자를 명령적으로(사용하여 useradd) 그리고 선언적으로(에서 ) configuration.nix생성한다는 사실 에서 비롯된 것입니다.

먼저, nixos-rebuild switch모든 변경 후에는 이를 실행 해야 합니다 /etc/nixos/configuration.nix. 둘째, 이것이 충분하지 않으면 사용자가 이미 생성되었기 때문에 선언적으로 전달된 옵션을 사용하지 못할 수도 있습니다. 이 경우 먼저 사용자를 삭제한 후 실행 nixos-rebuild switch하면 됩니다.

관련 정보