新規ユーザーは自分のホームディレクトリにファイルを作成できません。

新規ユーザーは自分のホームディレクトリにファイルを作成できません。

goldenコマンドを実行してLinuxで新しいユーザーを作成しましたadduser

その後、この新しいユーザーに対してSSHキーを生成しようとするたびに、権限拒否エラーが発生します。

golden@machineA:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/golden/.ssh/id_rsa):
Could not create directory '/home/golden/.ssh': Permission denied

何の問題がありますか?

修正する:

golden@machineA:~$ pwd
/home/golden
golden@machineA:~$ ls -l
total 0
golden@machineA:~$ ls -lrth
total 0
golden@machineA:~$ ls -lrtha
total 20K
-rw-r--r-- 1 10001 10001  675 May 10 11:54 .profile
-rw-r--r-- 1 10001 10001 3.5K May 10 11:54 .bashrc
drwxr-xr-x 2 10001 10001 4.0K May 10 11:54 .
-rw-r--r-- 1 10001 10001  220 May 10 11:54 .bash_logout
drwxr-xr-x 8 root  root  4.0K May 10 15:44 ..

アップデート2:

golden@machineA:~$ ls -ld /home/golden
drwxr-xr-x 2 10001 10001 4096 May 10 11:54 /home/golden
golden@machineA:~$ id golden
uid=1001(golden) gid=1002(golden) groups=1002(golden)

答え1

の所有者は/home/goldenuserではなくuser10001ですgolden。通常、アカウントを作成すると、そのユーザーのホームディレクトリが作成され、もちろんそのユーザーの所有です。

ここでこれが起こらないのは、おそらく/home/goldenすでに存在しているからです。渡すオプションによっては、adduserこれを伝えることもできない場合もあります。存在する理由は、/home/goldenおそらくユーザーIDが10001のアカウントを持っていましたが、goldenホームディレクトリを削除せずにこのアカウントを削除したからです。これでユーザーアカウントが再度呼び出されますが、golden別のユーザーIDを使用します。

これが発生し、ユーザー10001がもう存在しないと仮定すると、所有権を/home/golden新しいアカウントに変更できます。もちろん、これにより、新しいユーザーは古いユーザーが残したファイルを見ることができますが、あなたの場合にはとにかく興味深いファイルはありません。

sudo chown -R golden:golden /home/golden

アカウントを削除する場合は、そのホームディレクトリを削除するdeluser --remove-homeか()、名前を変更する必要があります(mv /home/golden /home/golden.1001.archived)。

関連情報