Amr*_*man 9 permissions rm files root-filesystem mkdir
不小心跑了sudo rm -r /tmp
,有问题吗?
我用 重新创建了它sudo mkdir /tmp
,这能解决问题吗?
在我重新创建目录后,在Ubuntu 14.04 中 nautilus 侧边栏中的位置部分,我可以看到 /tmp ,它之前不存在......这是一个问题吗?
最后一件事,我是否必须运行sudo chown $USER:$USER /tmp
才能像以前一样访问它.. 之后会不会有任何副作用?
顺便说一句,当我尝试使用 bash 自动完成功能时,我遇到了这个看似相关的错误
bash:无法为此处文档创建临时文件:权限被拒绝
Joh*_*ith 14
/tmp
大多数情况下可以认为是一个典型的目录。您可以重新创建它,将其提供给 root ( chown root:root /tmp
) 并对其设置1777
权限,以便每个人都可以使用它 ( chmod 1777 /tmp
)。如果您/tmp
位于单独的分区(这使其成为挂载点),则此操作将更加重要。
顺便说一下,由于许多程序依赖于临时文件,我建议重新启动以确保所有程序照常恢复。即使大多数程序旨在正确处理这些情况,但有些程序可能不会。
该目录/tmp
必须具有1777 = rwxrwxrwt 的权限,即每个人都可以读取、写入和访问该目录中的文件,并且(t
= 粘滞位)文件只能由其所有者删除。如果不是这种情况,很多事情都会停止工作,有时会以奇怪的方式。
sudo mkdir -m 1777 /tmp
Run Code Online (Sandbox Code Playgroud)
或者
sudo mkdir /tmp && sudo chmod 1777 /tmp
Run Code Online (Sandbox Code Playgroud)
/tmp
必须属于root。不要将其所有权更改为其他用户。
在您删除临时文件时使用临时文件的程序可能会有些困惑。一些后台程序保留一个套接字,/tmp
需要重新启动。主要的是 X 服务器:删除后/tmp/.X11-unix/X0
,您将无法再启动任何 GUI 应用程序。您需要注销并重新登录以解决此问题(首先修复权限!)。