我的情况是,我使用终端进行 ssh 操作,chmod 600 /
然后我执行了~
。阻止我进入文件重新启动并卡在登录屏幕上,输入密码后黑屏闪烁,然后再次登录。
我已经检查过la -la
并且看到的变化是:
Drwxr-xr-x 22 root root 4620 dev.
Dr-xr-xr-x 205 root root 0 proc
Drwxr-xr-x 31 root root 900 run.
Dr-xr-xr-x 13 root root 0 says
Drwxrwxrwt 14 root root 4096 tmp
答案1
我认为问题可能是 chmod 600 赋予所有者读/写权限,而主目录可能需要执行权限。尝试使用 chmod 755 恢复执行权限。
答案2
你跑了吗
chmod 600 -Rf /
具有 root 权限?如果是的话我建议重新安装。
如果您确实以用户身份运行它,请尝试以 root 身份登录或使用恢复模式(在加载 grub 时按下启动时的 shift)并创建一个新用户,移动需要的用户文件并对其进行 chown。
答案3
无法更改之前的权限。如果您已授予chmod 600 /
,则无法恢复。
答案4
你把事情搞得一团糟。现在最好的解决办法是重新安装 Ubuntu。或者,如果你不想重新安装 Ubuntu,那么启动到 live CD 并按照说明操作(危险):
- 相对挂载根分区和其他分区。
- 打开终端。
- 执行以下命令:
sudo mv /var/lib/dpkg/status{,.backup}
- 复制
status
文件:
sudo cp <mountpoint-of-installed-ubuntu>/var/lib/dpkg/status /var/lib/dpkg/status
- 使用以下命令清理
apt
缓存:
sudo apt clean
- 下载所有已安装的软件包:
sudo apt list --installed | sed 's/\// /' | awk '/\[installed\]/{print $1}' | sudo xargs apt install --reinstall -dy
- 重新安装所有软件包:
sudo dpkg -i --root <mountpoint-of-installed-ubuntu> /var/cache/apt/archives/*.deb
chroot
进入你的系统:
sudo chroot <mountpoint-of-installed-ubuntu>
- 添加具有权限的新用户
sudo
:
sudo adduser <username>
sudo usermod -aG sudo <username>
成功完成上述所有操作后,重新启动进入已安装的 Ubuntu。如果启动成功,请尝试使用旧用户登录。如果登录成功,则在主目录中逐个修复文件权限(目录必须具有可执行权限)。如果登录失败,则继续使用新用户并在以前的主目录中逐个修复文件权限。
如果上述方法失败,那么您只需要重新安装 Ubuntu。