清空/tmp目录带来的问题
问题描述
启动一台闲置的虚拟机,在即将进入登录窗口的时候,提示以下错误
习惯性地点击“Close“,关闭窗口,这时候显示登录窗口,输入账户和密码,不能成功进入系统,右上角出现新提示。
好像有些东西没能正确安装,真奇怪,最近都没使用这台机器,怎么会有这种报错呢。
问题排查
按”Ctrl+Alt+F1”,进入命令模式,用df -h检查一下磁盘空间,使用率只有80%而已,应该不是空间不足导致的。这时又习惯性地执行命令”rm -rf /tmp”,清空/tmp目录的东西,因为在宿主机和虚拟机传东西的时候,经常会提示/tmp目录空间不足,所以经常会执行这个rm命令来清理一下/tmp目录,这时突然想到会不会是跟这个删除操作有关。
深入排查
执行命令 ls -l /tmp,没看到什么东西,/tmp目录已被清空。
再执行命令 ls -l /,终于发现一些奇怪的了,好像/tmp目录的权限有些不对。
drwxr-xr-x 16 root root 4096 2016-07-19 01:00 tmp
/tmp目录是系统用来存放临时文件的目录,应该每个用户都有权限对他进行读写操作才合理,现在是组用户和其他用户没有分配足够的权限,修改一下权限试试。
执行命令 chmod 777 /tmp,再 ls -l /
drwxrwxrwx 16 root root 4096 2016-07-19 01:00 tmp
确认根本好权限之后,再 reboot,这回没看到报错了。在登录页面输入账户和密码,成功登录。
原因
根据以下操作可以发现,这个问题跟权限/tmp目录的权限有关。由于习惯地执行 rm -rf /tmp 命令,可能把一些不该删除的也删除,从而导致文件属性被改变,重新授权就可以解决问题了,但是在这里是删除那些文件导致问题发生的却不容易查找了。
结论
以后再也不能随便地用 rm -rf /tmp 了,即使这台机器多么地不重要,也要谨慎操作。否则尽管不会给你带来很大的问题,却也会使你浪费时间在解决这些问题上。

本文描述了清空Linux系统中/tmp目录后遇到的登录系统错误。通过排查发现,该问题与权限设置有关,执行`chmod 777 /tmp`修复了问题。提醒避免随意使用`rm -rf /tmp`,以免引起不必要的麻烦。
4635

被折叠的 条评论
为什么被折叠?



