SSH設定:chownユーザー名:グループ:無効なユーザーとマークされています

SSH設定:chownユーザー名:グループ:無効なユーザーとマークされています

私のUbuntu16.04.4サーバーのユーザー名:greycodes

エラー出力:

chown: invalid user: 'vagrant:vagrant'

OpenSSHのファイル権限を設定しています。私が望むのは、私のユーザー名を灰色のコードとして保持し、ユーザー名vagrantの代わりにこのユーザー名を使用して権限を定義することです。

chown -R vagrant:vagrant .ssh

私は次のように書かれていると理解しています。

chown -R username:group file name

私も最初に試しました:

chown -R graycodes:vagrant .ssh

しかし、うまくいきません。私のサーバーのユーザー名をvagrantに設定するしかありませんか?

私は「vagrant」グループに「graycodes」を追加すると役に立つと思います。

$ groups
$ sudo usermod -a -G vagrant $USER
$ exec su -l $USER
$ groups 

答え1

考慮すべき事項がいくつかあり、質問にいくつかの穴を埋めることができることを願っています。

chownまず、エンティティを割り当てたいユーザーとグループは、次のものを使用する必要があります。存在する。それ以外の場合はエラーが発生します。まず、実際に存在することを確認してください。

第二に、使用するにはchownいくつかの強化された能力が必要です。私は通常のユーザーとして、ファイルなどの所有権を他のユーザーに譲渡することはできません。これが何を意味するのか、これがあなたが望むものであることを確認してください。

第三に、自分がやりたいことが何であるかを確実に理解してください。chown1つ以上のファイルシステムエンティティの所有権を指定したユーザーとグループに変更します。

答え2

私の場合は、コンテナでchownを実行していて、nscdがホストで実行されていたからです。コンテナとホストによって /etc/passwd とユーザーが異なるため、ユーザー名を解決できないため、chown は失敗します。 nscdデーモンの停止の問題が解決した後、chownはローカル/ etc / passwdファイルを使用しているようです。

マニュアルページからhttps://linux.die.net/man/8/nscd、名前を取得します(https://man7.org/linux/man-pages/man3/getgrnam.3.html)作成者:chown(https://github.com/coreutils/gnulib/blob/fcdf335e093e245e384874254ec897c97430ccf2/lib/userspec.c#L202) まず nscd を呼び出します。

関連情報