我正在运行 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。(用户、组、其他)
一些提示:
- 如果您不知道命令的含义,请不要执行命令(尤其是以 root 身份/使用 sudo)。
- chown、chgrp 和 chmod(更改所有者、更改组、更改权限)都允许您使用数字(八进制表示)或人性化的形式。例如,
chmod u+r file
设置r位用户。这更容易学。