不小心删除了/tmp

不小心删除了/tmp

一不小心就跑了sudo rm -r /tmp,有问题吗?
我使用重新创建了它sudo mkdir /tmp,这可以解决问题吗?

我重新创建目录后,在地方Ubuntu 14.04 中 nautilus 侧边栏中的部分我可以看到 /tmp ,以前不存在..这是一个问题吗?

最后一件事,我是否必须运行sudo chown $USER:$USER /tmp才能使其像以前一样可访问..此后会有任何副作用吗?

顺便说一句,当我尝试使用 bash 自动完成功能时,我收到了这个看似相关的错误

bash:无法为此处文档创建临时文件:权限被拒绝

答案1

/tmp大多数情况下可以认为是一个典型的目录。您可以重新创建它,将其授予 root ( chown root:root /tmp) 并设置1777权限,以便每个人都可以使用它 ( chmod 1777 /tmp)。如果您/tmp位于单独的分区上(这使其成为安装点),此操作将更加重要。

顺便说一句,由于许多程序都依赖临时文件,我建议重新启动以确保所有程序都能照常恢复。即使大多数程序都设计为可以正确处理这些情况,但有些程序可能不能。

答案2

该目录/tmp必须具有权限1777 = rwxrwxrwt,即每个人都可以读取、写入和访问该目录中的文件,并且(t=粘性位)文件只能由其所有者删除。如果不是这样的话,很多事情就会停止工作,有时会以奇怪的方式。

sudo mkdir -m 1777 /tmp

或者

sudo mkdir /tmp && sudo chmod 1777 /tmp

/tmp必须属于根。不要将其所有权更改给其他用户。

在您删除临时文件时正在使用它们的程序可能会有点混乱。一些后台程序保留插座/tmp需要重新启动。主要的是X服务器:删除后/tmp/.X11-unix/X0,您将无法再启动任何GUI应用程序。您需要注销并重新登录才能解决该问题(首先修复权限!)。

相关内容