几天前,我发现我的 Ubuntu 机器登录后无法加载。在 liveCD 上搜索一番后,我发现我的硬盘容量已达到 100%,因此我删除了一些大文件,然后就可以登录了。我不再具有 sudo 权限,因此必须启动到恢复模式并更改 sodoers 文件,但最终恢复了 root 权限。
然后我注意到我的机器有点慢,并且top
显示 cupsd 使用 100% 的 CPU。我以前从未见过这个程序,但我很快意识到这是一个合法的程序。
我删除了大约 40GB 的视频,结果却发现我的硬盘空间几乎瞬间耗尽。经过一番研究和直觉,我意识到可能是日志文件被炸毁了,果然向ls -lh /var/log/cups/
我展示了一个 80GB 以上的 error_log 文件。
我删除了文件sudo rm -rf /var/log/cups/error_log
,用 终止了服务sudo service cups end
,然后继续做我的事情。之后我意识到在删除 error_log 之前检查一下它的内容是个好主意,但我想在再次被锁定之前摆脱它。
那是昨天的事了。今天,我再次启动笔记本电脑,发现 cupsd 再次以 100% 的 CPU 运行,果然看到我的磁盘空间正在耗尽。我停止了服务并运行tail -f /var/log/cups/error_log
,结果有数百万行这样的代码:
W [15/Jul/2015:11:23:03 -0700] Notifier for subscription 911 (dbus://) went away, retrying!
E [15/Jul/2015:11:23:03 -0700] File "/usr/lib/cups/notifier/dbus" has insecure permissions (0100777/uid=0/gid=0).
==编辑========================================================================
ls -l /usr/lib/cups/notifier/dbus
如评论中所述,按-rwxrwxrwx 1 root root
应有的方式显示权限和所有权。也没有解决所有权问题。-rwxr-xr-x 1 daemon root
sudo chown root:root /usr/lib/cups/notifier/dbus
最后我取下并重新安装了杯子,但无济于事。这些链接是作为可能有用的指南提供的,(意外地 chmod -R on /,恢复 chown 权限),但最终却建议重新安装操作系统本身。
答案1
对于 Ubuntu 15.10 来说,对我有用的是:
sudo service cups stop
sudo rm /etc/cups/subscriptions.conf*
sudo rm -r /var/cache/cups
sudo service cups start
(如果你无法停止杯子,请尝试):
ps aux | grep cups
从输出中获取进程 ID (pid) 并:
kill -9 (pid you have learned here)
答案2
在 Debian 9 上
用户@机器:
sudo su
根@机器:
chown -R root:root /usr/lib/cups/* && \
chmod -R 755 /usr/lib/cups/* && \
/etc/init.d/cups restart
返回:
并保存我的日志和我的 CPU
答案3
我无法发表评论,因此以答案的形式提供如下内容:
sudo chown root:root /usr/lib/cups/notifier/dbus
可能会有所帮助,现在您拥有了权限。您的系统上的用户 1 是谁?如果您不知道文件的权限/所有权是如何从默认状态更改的,那么问题可能只是冰山一角。如果是这样,建议重新安装。
答案4
简单做一下,对我有用:
1)sudo chmod 755 /usr/lib/cups/notifier/
2)ll /usr/lib/cups/notifier/
3)sudo /etc/init.d/cups restart
完成了 !!!