Files

新使用者無法在其主目錄中創建文件

  • May 10, 2017

我通過執行命令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)

的所有者/home/golden是使用者 10001,而不是 user golden。通常,當您創建帳戶時,這會為使用者創建一個主目錄,該主目錄當然屬於該使用者。

這在這裡沒有發生的原因可能是/home/golden已經存在的。根據您傳遞給的選項adduser,它可能會或可能不會告訴您這一點。存在的原因/home/golden大概是因為曾經有一個golden使用者id為10001的賬戶被呼叫,然後這個賬戶被刪除了,沒有刪除主目錄。現在golden再次呼叫了一個使用者帳戶,但使用了不同的使用者 ID。

假設發生了這種情況,並且使用者 10001 不再存在,您可以將所有權更改為/home/golden新帳戶。當然,這允許新使用者查看舊使用者留下的文件,但在您的情況下,無論如何都沒有有趣的文件。

sudo chown -R golden:golden /home/golden

如果您刪除一個帳戶,您應該刪除它的主目錄 ( deluser --remove-home) 或重命名它 ( mv /home/golden /home/golden.1001.archived)。

引用自:https://unix.stackexchange.com/questions/364296