如何修改 sudo 权限?

如何修改 sudo 权限?

我正在运行 AWS EC2 Micro 实例,在获取 EC2-user 的根访问权限时遇到了问题。

按照在线教程并运行以下命令:

sudo chgrp ec2-user /etc
sudo chmod 660 /etc

现在它告诉我

-bash: /etc/profile: permission denied

我该如何恢复原始设置?

答案1

首先让我们看看你的命令实际上做了什么,这样你就知道要撤消什么:

sudo chgrp ec2-user /etc
以 root 身份将目录 /etc/ 的组更改为 ec2-user。

sudo chmod 660 /etc
以 root 身份将 /etc/ 的权限更改为 660。

换句话说:将权限设置为rw- rw- ---

这些位代表什么意思?

  • 拥有目录的访问权限r意味着有权获取目录内的文件名列表。它们不会影响对目录中文件的访问。
  • 拥有w目录的访问权限意味着具有以下权限:
    • 在目录中创建新文件
    • 删除目录中的文件。(delete、rm)
    • 将文件重命名到目录或从目录中移除
    • 将文件链接到目录(ln)
    • 将目录重命名为不同于其起始目录的名称
  • “x”位影响在目录中查找名称(例如,打开它们)并“cd”到该目录。要访问目录中的文件,您需要拥有该目录中的“x”权限,以及与您想要的操作相关的文件本身的权限。

在您的系统上,没有人对 /etc/ 拥有“x”权限。

无法查找和打开任何文件。这包括启动登录 shell 时读取(或者说尝试读取)的 /etc/profile。要解决此问题,请重新设置 /etc 上的 x 权限。例如,chmod +x /etc这将允许 ugo 中的所有三个权限为 x。(用户、组、其他)


一些提示:

  1. 如果您不知道命令的含义,请不要执行命令(尤其是以 root 身份/使用 sudo)。
  2. chown、chgrp 和 chmod(更改所有者、更改组、更改权限)都允许您使用数字(八进制表示)或人性化的形式。例如,chmod u+r file设置r用户。这更容易学。

相关内容