我错误地执行了:
$ sudo chmod -R 777 /*
我无法再运行 sudo:我尝试使用恢复模式更改权限,但是当我重新登录我的帐户时,sudo 仍然不起作用。
答案1
我同意重新安装会更容易,并且会产生预期的结果(完全重新设置所有权限),但可以使用“acl”无需重新安装即可完成此操作。在桌面版中,“acl”是默认安装的。
现在的问题是,由于您弄乱了“sudo”,并且可能没有创建权限集合,因此您需要外部来源。如果您有另一个系统,您可以使用以下命令自行创建这些文件。如果您没有第二台机器,我创建了 /usr/ 中所有文件的权限文件(/etc/ 和 /var/ 也包含在下方),使用
getfacl -R / > /tmp/permissions_usr.acl
并将其上传至保管箱(12Mb)。下载并存储在某个地方(我假设是 /tmp/)使用命令
setfacl --restore=/tmp/permissions_usr.acl
您可以恢复文件属性。但您需要 root 提示才能执行此操作,因此必须从 grub 重新启动进入恢复模式(请参阅如何启动进入恢复模式?)
为以下项创建相同的权限文件
这3个文件都是这样的:
$more permissions_etc.acl
# file: etc
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
# file: etc/signond.conf
# owner: root
# group: root
user::rw-
group::r--
other::r--
# file: etc/hp
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
...