一不小心就跑了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应用程序。您需要注销并重新登录才能解决该问题(首先修复权限!)。