전체 내용:
RHEL 7.1을 실행하는 Amazon EC2 "계층"(VPS)을 시작하고 SSH 키를 생성했습니다.
EC2는 새 Rhel VPS에 대해 ec2-user라는 사용자를 자동으로 생성하며 이 사용자는 sudoers 파일에 다음과 같은 권한을 갖습니다.
ec2-user ALL = NOPASSWD: ALL
"e"(비밀번호 포함)라는 새 사용자를 생성하고 이를 sudoers 파일에 추가해 보았습니다.
VI를 사용하여 /etc/sudoers 파일을 편집하려고 하면 파일이 읽기 전용이라는 메시지가 표시되어 권한을 600으로 변경했는데 이제 "sudo" 명령으로 작업을 시도할 때마다 오류가 발생합니다. :
sudo: /etc/sudoers is world writable
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
루트가 필요하고 "sudo"할 수 없기 때문에 다시 440으로 변경할 수 없습니다.
솔루션이 실행되는 것이라고 어딘가에서 읽었습니다.
pkexec chmod 0440 /etc/sudoers
하지만 비밀번호가 없는 ec2 사용자에게 비밀번호를 입력하라고 요청합니다.
==== AUTHENTICATING FOR org.freedesktop.policykit.exec ===
Authentication is needed to run `/usr/bin/chmod' as the super user
Authenticating as: Cloud User (ec2-user)
Password:
polkit-agent-helper-1: pam_authenticate failed: Authentication failure
==== AUTHENTICATION FAILED ===
Error executing command as another user: Not authorized
This incident has been reported.
우리는 지금 무엇을해야합니까? sudoers 파일 440 agin을 만드는 방법을 아는 사람이 있습니까?
답변1
예 - 이것은 확실히 "함정"입니다. visudo
이 문제는 나중에 사용하면 피할 수 있습니다. 저는 RHEL7과 본질적으로 동일한 CentOS 7 가상 머신을 가지고 있습니다. 루트 비밀번호를 알고 있기 때문에 su -
이를 사용하지 않고도 루트가 될 수 있습니다. sudo
루트 사용자의 비밀번호를 알고 계십니까?
답변2
일반적으로 이는 Amazon이 사용자에게 sudo
편리하게 sudo 권한을 제공하기 때문에 EC2 인스턴스에 대한 권한을 높이는 유일한 방법입니다 ( ). 대부분의 사람들이 미리 정의된 사용자를 사용하기 때문에 ec2-user
암호를 설정하는 데 어려움을 겪는 사람은 거의 없을 것입니다 . root
이것이 바로 이 질문입니다.
이 머신을 복원하는 방법은 다음과 같습니다.
- 기계를 끄세요
"/"
손상된 머신에서 디스크를 분리합니다(어떤 장치인지 기억하세요 )/dev/sda1
.- 디스크를 작업자 머신에 연결합니다(이렇게 하면장비)
mount
작업자 컴퓨터의 디스크(사용장비)- 권한 수정(
sudo
업무용 컴퓨터에 대한 권한이 있음) umount
디스크- 작업 중인 기계에서 제거하고 손상된 기계에 다시 부착합니다.
- 작업 기계를 시작
여러 대의 머신을 보유하는 것이 도움이 되지만, 수리에 머신이 하나만 필요한 경우에도 약 1시간 안에 생성, 사용, 삭제가 가능합니다.
추가 자료:
답변3
인스턴스에 중요한 내용이 포함되어 있지 않으면 학습 경험으로 삼은 다음 버리고 다시 시작하는 것이 좋습니다. 수정해야 한다면 인스턴스를 종료하고 디스크 이미지를 저장한 후 다른 인스턴스에 마운트하고 권한을 수정하면 됩니다.
답변4
루트 사용자가 활성화된 경우 "su" 명령 또는 "login root" 명령을 사용하여 루트 쉘에 들어갑니다. 그럼 시도해봐
chmod 440 /etc/sudoers