我已经开始学习Linux命令了,我正在做一些简单的事情,例如添加新用户和组以及删除它们。当我尝试删除使用语法“userdel username”创建的用户时,它会被删除而没有任何问题,但是当我尝试使用userdel -r username执行相同操作时,它会产生我在标题中指定的错误
注意:当我以root身份登录时,我正在做所有这些事情。
答案 0 :(得分:0)
这是因为用户的家不属于username
,而是属于另一家。
使用grep username /etc/passwd
(倒数第二个字段)检查它是哪一个并查看其拥有的权限。
例如:
$ grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
^^^^^
然后
$ ls -ld /root
drwx------ 12 root root 4096 Oct 18 12:55 /root
答案 1 :(得分:0)
主目录的所有权已更改。在使用userdel -r之前,请尝试更改它的所有权:
# chown -R username ~username
chown代表变更所有权。 -R告诉它递归目录。 username是您希望将所有权更改为的帐户的用户名,~username只是指定用户的主目录。此命令将主目录及其中的所有内容的所有权更改回用户。或者,您可以手动删除主目录,而无需更改任何内容的所有权:
# rm -Rf ~username
# userdel username
如果使用代字号添加用户名并不引用用户的主目录,则可以使用/ etc / passwd文件作为fidorqui建议。
$ grep username /etc/passwd
(grep =搜索文件或i / o流)
/ etc / passwd中的每一行都遵循以下格式: username:password:userid:groupid:comment(UID Info):homedirectory:login shell