我刚刚使用以下方法向系统(Ubuntu 14.04 LTS 服务器)添加了一个新用户
adduser --force-badname myNewUser
再次删除后:
deluser --remove-all-files myNewUser
系统正在从磁盘获取数据(如预期的那样),但是获取时间很长(不是预期的),最后它给了我一长串奇怪的输出:
/usr/sbin/deluser: Cannot handle special file /proc/22220/fd/0
/usr/sbin/deluser: Cannot handle special file /proc/22220/fd/1
/usr/sbin/deluser: Cannot handle special file /proc/22220/fd/2
等等。
看完之后这回答 我现在知道 proc 目录只是一个存在于内存中的目录。这只是告诉我重新启动系统时文件将消失。但是它并不能解决我的问题。
在谷歌上搜索只会显示错误报告或线其中指出 deluser --remove-all-files 是一种删除用户的旧方法?
这个输出是什么意思?我的系统现在乱了吗?如果是这样,我该如何让我的系统回到正轨。
答案1
我知道这个问题很老了,但这种行为在 Ubuntu 16.04 中仍然存在
有一个错误报告/功能请求可以解释发生了什么这里
总结一下:
该deluser --remove-all-files USER
命令扫描所拥有的文件USER
并将其删除。
/usr/sbin/deluser:无法处理特殊文件 /proc/767/task/767/fd/2
...
/usr/sbin/deluser:无法处理特殊文件 /lib/systemd/system/halt.service
...
/usr/sbin/deluser:无法处理特殊文件 /dev/input/by-path/platform-i8042-serio-1-event-mouse
警告仅表明该命令无法处理这个特定的文件,因为它是一个特殊文件。它没有尝试删除此文件它只是无法对其进行检查。;-)
如果您回顾这些警告,您会发现它们都是针对 /dev、/proc、/run 中的文件或特殊系统文件(如 mountnfs.service)的,这些文件不是普通文件。
您应该可以安全地忽略这些警告。
答案2
嗯,该用户正在运行一些进程。
22220 可能是进程 ID,fd/0、fd/1、fd/2 是该进程的 stdin、stdout 和 stderr。这些不能被删除并不奇怪。当进程消失时它们也会消失。
我不认为有什么不好的事情发生。