我正在运行 Ubuntu 12.04 LTS 分区,最近登录时遇到了问题。
从 GUI 登录屏幕,当我输入用户名和密码时,它会直接带我回到登录屏幕。这与我输入错误的用户名和密码时不同。
因此我输入 alt+ctrl+F1 来访问终端并登录。然后显示:
-bash: /etc/profile Permission denied
根据我的测试,我可以从终端运行的唯一命令是基本终端命令,例如 ls 和 pwd。我尝试将我的访问权限更改为/etc
:
sudo chmod 755 /etc
我收到错误:
sudo: unable to open /etc/sudoers: Permission denied
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
如果我在不使用 sudo 的情况下运行它,则会收到权限被拒绝的信息。如果有人知道如何解决这个问题,那就太好了
答案1
设置权限为/etc
:
由于目录的权限/etc
为drw-rw----
,您将无法降级到 root 权限来设置正确的权限。因此,您必须获取 Live Ubuntu 媒体,以便启动并纠正问题。
启动到实时会话,打开终端并挂载目标根分区:
sudo -i mount /dev/sdXY /mnt
(
sdXY
用目标设备的设备替换/
;假设您没有单独的分区/etc
。)进行权限更改:
chmod 755 /mnt/etc
(假设内容的权限
/etc
没问题。)reboot
PS 我尝试通过运行来复制此问题sudo chmod 644 /etc
,并能够通过上述步骤恢复。但是,我在 Unity 插件方面遇到了其他问题。以下 AU 问答有助于解决一些问题:
答案2
如果您有 root 密码,您可以使用它su
来成为 root,然后修复文件的权限。它们应该如下:
-rw-r--r-- 1 root root 665 Feb 20 03:43 /etc/profile
和
-r--r----- 1 root root 745 Feb 10 20:16 /etc/sudoers
设置权限后,您应该reboot
。