RedHat 서버가 잠겼습니다.

RedHat 서버가 잠겼습니다.

저는 몇 년 전부터 Linux 관리자였으며 라이브 시스템으로 시스템을 재부팅하고 / 또는 /etc(디렉토리 배포에 따라 다름)를 마운트할 때 루트의 비밀번호를 변경할 수 있다는 것을 알고 있습니다. 이제 더 큰 문제가 생겼습니다.

VI를 사용할 때 문제가 발생한 것 같은데 /etc/passwd의 첫 번째 줄에서 첫 글자가 대문자로 변경되었습니다. 이제 루트 대신 루트가 있습니다. 일반 사용자로 변경할 수 있는 방법이 있나요?

Cisco 서버에서 실행되고 있으며 iLO 및 KVM 스위치를 통해 시스템에 액세스할 수도 있습니다. 따라서 시스템에 접속할 수 있는 방법이 있을 것입니다. 하지만 24/7 시스템이므로 서버를 종료할 수 없습니다.

당신이 나에게 줄 수 있는 어떤 종류의 도움이라도 감사하겠습니다. 감사합니다.

답변1

UID 0이 "root"라고 불리지 않는다고 해서 잠겨 있다는 의미는 아닙니다. 루트의 새 이름으로 수동으로 편집 /etc/passwd하고 /etc/shadow다시 로그인한 후의 시스템은 다음과 같습니다 .

SuperUser@sf:~# id
uid=0(SuperUser) gid=0(Root) groups=0(Root)

/etc/shadow실제 해시된 비밀번호가 있는 철자를 사용하세요 . 그러나 루트만 이 파일을 읽을 수 있습니다. passwd를 "Root"로만 변경한 경우 "root"를 원할 수도 있습니다.

일반 사용자로는 passwd를 편집할 수 없으므로 보안이 손상됩니다. 사용자는 uid 0이 되는 것을 포함하여 원하는 사람을 가장할 수 있습니다.


로컬 파일에서 사용자를 변경하는 데 텍스트 편집기가 필요하지 않습니다. usermodShadow-utils의 매뉴얼 페이지와 관련 명령을 참조하세요 .

OS 관리자는 일반 개인 사용자로부터 루트가 될 수 있는 방법을 가지고 있어야 합니다. 규칙이나 알려진 비밀번호 등 sudo. 루트의 로그인을 변경하려는 경우 귀하는 OS 관리자입니다.

시스템 다운타임에 대비해 항상 유지 관리 기간이 필요합니다. 보안 패치가 필요합니다. 그러니 여전히 들어갈 수 없다면, 지금부터 몇 달이 지나더라도 달력에 하나 등록하여 문제를 해결하세요.

답변2

sudoer액세스할 수 있는 시스템에 가 없습니까 ? 그렇지 않은 경우 시스템에서 익스플로잇을 찾아야 합니다. 아마도 루트의 cron이 실행하는 것 중 사용자가 쓸 수 있는 것일 수도 있습니다. /var/spool/cron/root해당되는 것이 있는지 확인하세요 .

다음은 익스플로잇이 있는 서비스를 찾는 것입니다. root임의의 명령을 실행하거나 쓰기 가능한 스크립트/프로그램을 자동으로 실행하는 프로그램을 실행하는 것입니다 .

다음으로, 적용 가능한 고정 비트 세트가 있는 프로그램을 찾아 setuid()거기에서 활용할 수 있는 것이 있는지 확인하십시오.

"즉시 사용 가능한" 시스템인 경우 PC를 종료하고 드라이브를 다른 Linux 호스트의 슬레이브로 마운트한 다음 거기에서 파일을 수정해야 할 가능성이 높습니다.

행운을 빌어요!

답변3

나는 당신의 상황에 결코 없었기를 바랍니다. 그것은 정말 나쁩니다! sudoer가 구성되어 있지 않고 재부팅을 수행할 수 없는 경우 해결책이 많지 않다고 생각합니다.

죄송합니다. 이 문제를 어떻게 해결할 수 있을지 생각하기 위해 여기 앉아 있는 데 오랜 시간이 걸렸지만 사용자가 해당 시스템(sudo)에서 uid 0으로 승격하거나 라이브 시스템을 실행하지 않으면 아무 것도 할 수 없는 것 같습니다. uid 0을 사용하여 데이터에 물리적으로 액세스합니다.

관련 정보