루트 로그인 쉘을 시작하지 않고 루트로 프로세스를 시작할 수 있습니까?

루트 로그인 쉘을 시작하지 않고 루트로 프로세스를 시작할 수 있습니까?

로그인 쉘을 변경해 보았습니다.

첫 번째 줄은 다음과 같습니다 /etc/passwd(Debian Wheezy 설치 시):

rootx:0:0:root:/root:/:zsh

로그인을 시도할 때 root:

Cannot execute zsh: No such file or directory

사용 가능한 것으로 알고 있음 zsh:

$ which zsh
/usr/bin/zsh

zsh글쎄, 전체 경로로 바꾸는 것이 논리적인 것 같습니다. 그런데 어떻게 해야 합니까?

내 시스템에 다른 사용자( )가 있지만 user루트 권한이 없고 sudo시스템에 설치되어 있지 않습니다.

어떤 이유로(암호화, 물리적 액세스...) 파일을 수정하기 위해 Live CD로 부팅할 수 없다고 가정해 보겠습니다.

하지만 나는 그 계정의 자격 증명을 알고 있습니다 root.

root내 질문은: 프로그래밍 방식으로도 로그인 셸을 먼저 시작하지 않고 계정 프로세스를 시작할 수 있는 방법이 있습니까?

답변1

su 허가를 받음

다음 명령을 사용하여 모든 사용자의 쉘을 변경할 수 있습니다.

su -c "/usr/bin/chsh -s /bin/bash root"

물리적으로 접근할 수 있는 경우

Grub 시작 중에 콘솔 액세스 권한이 있고 Grub 메뉴에 액세스하는 데 방해가 되는 비밀번호가 없다면 어떤 시스템에도 들어갈 수 있습니다.

시스템을 처음 부팅하는 동안 Grub 메뉴가 나타날 때 메뉴로 이동하여 커널 줄을 편집( ekeypress 다음 중 하나를 추가하여 커널이 단일 사용자 모드로 부팅되도록 할 수 있습니다.

  • 하나의
  • 초기화=/bin/sh
  • 1

줄은 다음과 같습니다.

 kernel /vmlinuz-2.6.15-27-386 root=/dev/mapper/Ubuntu-root ro init=/bin/bash

Grub에서는 다음과 같아야 합니다.

       그럽 SS

변경을 완료한 후 커널을 시작합니다( 키를 누릅니다 b).

/etc/passwd그러면 vi/vim을 사용하여 파일을 원하는 대로 변경할 수 있는 셸을 통해 시스템에 임시로 액세스할 수 있습니다 . reboot완료되면 입력하시면 됩니다.

관련 정보