Redhat을 원격으로 다시 시작한 후 SSH를 사용하여 복구 모드로 들어가는 방법은 무엇입니까?

Redhat을 원격으로 다시 시작한 후 SSH를 사용하여 복구 모드로 들어가는 방법은 무엇입니까?

가상 머신에서 원격으로 실행 중인 Redhat Box의 복구 모드로 들어가야 합니다.

저는 RedHat 5 64비트 Enterprise Edition을 사용합니다.

SSH를 사용하여 상자에 로그인했습니다. 재시작 명령을 사용하여 다시 시작할 수 있지만 SSH를 원격으로 사용하고 UI를 통해 로그인할 수 없기 때문에 SSH를 사용할 수 있는지 알아야 합니다.

chown -R $USER /진짜 문제는 루트 디렉토리에서 작업을 수행했다는 것입니다 .

나는 결과를 깨닫지 못하고 무언가를 작동시키기 위해 이것을 시도하고 있었는데 sudo를 사용해도 작동하지 않았습니다.

중간에 죽였어요. 하지만 이 어리 석음 때문에 sudo를 사용할 수 없습니다.

구조 모드에서 작업을 수행할 수 있다는 내용을 읽었지만 원격으로 구조 모드로 들어가는 방법을 이해하지 못합니다. Linux를 다시 설치할 수 없습니다. 이는 가능한 옵션이 아닙니다.

어쨌든 내 sudo 권한을 다시 얻을 수 있나요?

현재로서는 이 작업이 작동하지 않습니다.

chown root:root /usr/bin/sudo
chown: changing ownership of `/usr/bin/sudo': Operation not permitted
sudo chown root:root /usr/bin/sudo
sudo: must be setuid root

답변1

SSH가 실행되지 않으므로 SSH를 통해 복구 모드로 들어갈 수 없습니다. 콘솔에 접근할 수 있는 방법이 필요합니다. 이것이 가상 머신이고 호스트를 소유하고 있는 경우 호스트에 연결하고 콘솔에 접속할 수 있는 방법이 있어야 합니다. 이것이 AWS와 같은 서비스라면 운이 좋지 않으며 새 인스턴스를 구축하고 불량 인스턴스에서 루트 볼륨을 분리한 후 새 인스턴스에 마운트하여 문제를 해결하는 등 다른 방법으로 복구해야 합니다.

답변2

Redhat은 작업 시작/중지를 위해 Systemd를 사용합니다.

구조 모드에 있는 경우 rescue또는 emergency대상을 사용합니다.

이러한 런레벨(= systemd 용어로 대상)에서도 실행되도록 sshd(및 해당 종속성)를 구성해야 합니다.

여기systemd 미세 조정에 대해 자세히 알아볼 수 있습니다. 일부 레드햇문서사용이 가능하기도 합니다.

답변3

문제가 해결되었으며 이 질문을 닫을 수 있습니다. 그러나 SSH를 통해서는 이 작업을 수행할 수 없었습니다. 가상박스에서 인스턴스를 끄고 재부팅해야 했습니다. SSH를 통해 이 작업을 수행하는 것은 여전히 ​​논의의 여지가 있습니다.

rhel5 인스턴스를 재부팅하여 문제를 해결하는 방법:

1.Boot the system into single user mode (do this by pressing esc on the boot screen. you will get a terminal on the boot screen after doing this)
2.do chmod 0440 /etc/sudoers
Which should look like -r--r----- 1 root root 5882 Nov 19 18:03 /etc/sudoers
3.chown root:root /usr/bin/sudo
4.chmod 4111 /usr/bin/sudo
5.chmod 0440 /etc/sudoers
6.chmod 0770 /var/bin/sudo/$USERNAME (note: you may have to use /var/run/sudo/$USERNAME if /var/bin does not exist)
7.Reboot the machine in runlevel-5. (type init 5)

그러면 루트로 설정되고 sudo 오류가 해결됩니다.

관련 정보