首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >userdel命令生成"DIRECTORY_PATH不属于用户,不移除“错误。

userdel命令生成"DIRECTORY_PATH不属于用户,不移除“错误。
EN

Stack Overflow用户
提问于 2013-12-17 10:54:10
回答 2查看 4.5K关注 0票数 0

我已经开始学习Linux命令,并且我做了一些简单的事情,比如添加新用户和组并删除它们。当我尝试删除我使用语法"userdel username“创建的用户时,它就会被删除,完全没有问题,但是当我尝试使用userdel -r用户名做同样的操作时,它会产生我在标题中指定的错误。

注意:当我以root身份登录时,我正在做所有这些事情。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-17 11:06:28

这是因为用户的家不是由username拥有,而是由另一个用户拥有。

使用grep username /etc/passwd (倒数第二个字段)检查哪一个是它,并查看它具有的权限。

例如:

代码语言:javascript
复制
$ grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
                ^^^^^

然后

代码语言:javascript
复制
$ ls -ld /root
drwx------ 12 root root 4096 Oct 18 12:55 /root
票数 0
EN

Stack Overflow用户

发布于 2013-12-18 01:08:53

主目录的所有权发生了变化。在使用userdel -r之前,尝试将它的所有权更改为:

代码语言:javascript
复制
# chown -R username ~username

chown代表变更所有权。-R告诉它递归到目录中。用户名是您希望将所有权更改为的帐户的用户名,而~username只是指指定用户的主目录。此命令将主目录及其中的所有内容的所有权更改为用户。或者,您可以手动删除主目录,而不必更改任何内容的所有权:

代码语言:javascript
复制
# rm -Rf ~username
# userdel username

如果在用户名前面加上tilde不引用用户的主目录,那么您可以使用/etc/passwd文件,就像fidorqui建议的那样。

代码语言:javascript
复制
$ grep username /etc/passwd

(grep =搜索文件或i/o流)

/etc/passwd中的每一行都遵循以下格式:用户名:密码:userid:groupid:注释(UID Info):line目录:login

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20632239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档