我在 Ubuntu Linux 中的一个目录中错误地输入了一个命令(我不记得它是什么。也许它在我的home/user/
,或者在目录中)。/
sudo rm -f -r tmp
之后,当我重新启动并登录时,我无法使用该用户登录。系统说 Gnome 中一些我不认识的应用程序缺少一些配置文件。
但是,我可以使用用户登录root
。
我能解决这个问题吗?
答案1
以 root 身份执行以下操作:
# mkdir /tmp
# chmod o+t,ugo+rw /tmp
答案2
非常感谢 Dennis Williamson!为了让答案更加详细:
当您在登录屏幕时,按Ctrl+ Alt+ F1(按相同顺序执行)切换到命令模式界面。从那里您可以使用您的用户名和密码登录。然后运行:
# sudo apt-get update
# sudo apt-get upgrade
# sudo rm -Rf /tmp
# mkdir /tmp #or if it didn't work run: sudo mkdir /tmp
# sudo chmod o+t,ugo+rw /tmp
# exit
然后重启电脑。对我来说很管用 :)
你也可以看看 这里。
答案3
我想补充有关此问题的更多信息,因为它困扰了我好几个小时。我从来没有想过目录 /tmp 在 Ubuntu 中如此重要。
如果您打开文件(/var/log/auth.log)并搜索类似以下几行,您也可以发现此问题:
Jan 18 01:55:12 localhost **gnome-keyring-daemon**[2016]: couldn't create socket directory: **Permission denied**
Jan 18 01:55:12 localhost gnome-keyring-daemon[2016]: couldn't bind to control socket: /tmp/keyring-mKRg6t/control: **No such file or directory**
Jan 18 01:55:12 localhost lightdm: pam_unix(lightdm:session): session closed for user <your_username>
这肯定是因为你可能更改了目录 /tmp 的权限。这就是为什么你可以用 root 身份登录,而不能用其他用户身份登录。正如 Dennis Williamson 所写,这个命令 (sudo chmod o+t,ugo+rw /tmp) 设置了正确的权限 (drwxrwxrwt)