运行"sudo chmod 2770/"后,无法登录到ec2实例

分享于 

4分钟阅读

互联网

  繁體 雙語

问题:

我是linux和AWS的新手。

我跑了 sudo chmod 2770/command 在我的ec2实例和

我对我正在做的一切都得到了许可( 甚至使用了ls或者 cd )

所以我退出连接( 使用 CYGWIN ) 并尝试连接,但现在我得到了

权限拒绝( publickey,gssapi-keyex,gssapi-with-mic )

我尝试设置 chmod 400 my.pemchmod 600 my.pemchmod 777 my.pem,但没有。
我正在尝试使用 ssh -i my.pem ec2-user@xx.xx.xx.x 在早期的工作中。
什么是解决方案?


回答 1:

解决方案是启动一个新实例,而不执行所做的操作。 尝试正确恢复你重置为 2770的所有权限是太复杂了。

如果你的坏实例有任何有价值的文件,你可以停止它,挂载它的root 卷到新实例,并复制文件从那里。

如果你没有递归地更改所有权限,那么你可能会幸运地发现你可能会幸运。 你必须启动一个新实例,并使用它将 root 权限修复回 0755。 以下是以下说明: 改变了AWS防火墙规则并锁定了 ssh ( 而不是修复防火墙 sudo chmod 755/mnt 或者安装其他磁盘的位置)。

希望有帮助:)


回答 2:

你所做的就是把 文件系统 里的每个文件都变成 2770个权限。


-rwxrws--- 1 username agroup 2 Feb 19 23:07 thefilename



这是组列中的粘帖,这意味着目录中的所有文件都属于 agroup。

我从来没有相信过bjorked的图像。 但我看到一些probs杀死了他们。

前恢复到最后一个快照,然后再刷新文件模式。

不执行定期快照?

查看你的备份。 重新生成框 vs 还原数据从备份中恢复数据是多少或者更少的工作?

什么你没有备份?

然后,最后的ditch标准恢复方法是类似于:

  • 从当前的AMI创建一个新实例,理想情况下是与你的坏机相同的发行版。 它可以是像 t3.nano 一样小的东西
  • 从损坏的机器上分离卷,并将它们作为 sdf,g,h 附加到新实例。 等等
  • 将你的新实例作为 root 登录,并针对你的每个实例运行

    
    fsck/dev/xvdX
    
    
    mkdir/sdX
    
    
    mount/dev/xvdX/sdX
    
    
    cd/sdX
    
    
    ls -l
    
    
    
    
  • 此时,你需要决定是否一次又一次使用 chmod 来修复问题,或者将数据复制到新实例中,然后重新设置。

  • 所以手动更改到每个目录,chmod 将每个文件都保存到它应该。 保持两个 Windows 打开并将主机的实时文件与安装的磁盘进行比较。 确保你更改了正确的文件- 经常检查 !

  • 完成这些操作后,关闭temp计算机,将,中的磁盘分离,然后将它们重新连接到原来的机器。 注意,root 驱动器作为 sda1 attached sda1 sda,但是所有其他卷都作为sdb附加到了z through。

  • 无论哪种方式,都应该设置自动快照或者备份,或者两者都 !

    为了防止你再次做同样的事情,别名 chmod

    
     chmod --preserve-root
    
    
    
    

    但这不会保护任何其它的目录。

    也不要在命令前面使用sudo只是习惯。



log  Instance  ec2  SUDO  Chmod  CHM