在尝试更改ushare配置时意外阻止了对sudoers.d的访问

基本上是因为某种原因试图改变ushare配置和所需的权限所以,我改变了sudo -i并且在这个过程中做了一些事情,现在我无法访问超级用户来更改任何权限。

另外它说/etc/sudoers是模式0660,但是当我尝试访问它时终端应该是0440。

我能做什么?

您已经更改了一个或多个sudo配置文件的权限。 由于这些文件可能会在某些具有错误权限的系统上导致严重的不安全因素,因此除非正确设置权限,否则sudo拒绝工作。 由于sudo不起作用,你不能用它来成为root (超级用户)来修复它们。

但是,桌面Ubuntu系统实际上有两种机制用于以root身份执行操作: sudo和PolicyKit 。 PolicyKit提供了一个命令,您可以使用该命令以root身份运行非图形程序,类似于sudo: pkexec命令。

如果您的问题是文件/etc/sudoers具有错误的权限,您可以使用以下方法解决此问题:

 pkexec chmod 440 /etc/sudoers 

然后你应该能够再次使用sudo 。 (您可以尝试运行像sudo ls这样无害的命令来查找。)

如果/etc/sudoers.d中的文件具有错误的权限,则可能必须以类似的方式正确设置其权限。 或者立即为所有人做到这一点:

 pkexec chmod 440 /etc/sudoers.d/* 

(即使其中的README文件也需要具有这些限制性权限,因此使用该命令应该没有问题。但是,如果只是/etc/sudoers本身获得了错误的权限,则可能不需要它。)

另请参阅此相关问题 。


您可能想要更改/etc/sudoers/etc/sudoers.d文件的/etc/sudoers.d来编辑它。 你不应该这样做,而你也不需要这样做。 将来,您应该使用visudo来编辑这些文件。 这样做安全,并可以防止您现在遇到的问题。