신규 사용자는 자신의 홈 디렉터리에 파일을 생성할 수 없습니다.

신규 사용자는 자신의 홈 디렉터리에 파일을 생성할 수 없습니다.

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).

관련 정보