新用户无法在其主目录中创建文件

新用户无法在其主目录中创建文件

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/golden是用户 10001,而不是用户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)。

相关内容