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 ..
pdate2:
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)
/home/golden
の所有者はユーザー10001であり、ユーザーgolden
ではありません。通常、アカウントを作成すると、ユーザーのホームディレクトリが作成され、そのホームディレクトリはもちろんユーザーに属します。
ここでこれが発生しなかった理由は、おそらく/home/golden
がすでに存在していたためです。 adduser
に渡したオプションに応じて、これについて通知されている場合とされていない場合があります。 /home/golden
が存在した理由は、おそらくユーザーID10001のgolden
というアカウントがあったため、このアカウントはホームディレクトリを削除せずに削除されたためです。これで、再びgolden
というユーザーアカウントがありますが、ユーザーIDは異なります。
これが発生し、ユーザー10001が存在しないと仮定すると、/home/golden
の所有権を新しいアカウントに変更できます。もちろん、これにより、新しいユーザーは古いユーザーが残したファイルを見ることができますが、あなたの場合、とにかく興味深いファイルはありません。
Sudo chown -R golden:golden /home/golden
アカウントを削除する場合は、そのホームディレクトリ(deluser --remove-home
)を削除するか、名前を変更(mv /home/golden /home/golden.1001.archived
)する必要があります。