NixOSをインストールして起動しようとしましたが、sudoersファイルに私のユーザーを追加してみました。
すべてのコマンドをrootとして実行しないようにユーザーを作成しました。第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
重複します。私はuseradd
NixOSを使用しながらこのような問題を経験したことがありません。
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
ください。