/etc/passwd의 루트 쉘 오류

/etc/passwd의 루트 쉘 오류

루트 사용자의 표준 쉘을 bash로 변경하고 싶은데 경로가 잘못되었습니다. /opt/bin/bash 대신 /bin/bash를 입력했습니다. 이제 내 /etc/passwd는 다음과 같습니다.

root:x:0:0:root:/root:/bin/bash

문제는 더 이상 ssh를 통해 로그인할 수 없다는 것입니다. 또한 다음과 같은 이유로 다른 사용자로부터 루트 액세스 권한을 얻을 수 없습니다.

>su root
su: must be suid to work properly 

어떤 제안이 있으십니까?

답변1

이러한 장치 유형의 제품은 Linux를 기반으로 하지만 일반적으로 Linux 박스처럼 사용자 정의하려고 하지 않는 것이 가장 좋습니다. 대부분의 도구가 부족하고 다양한 방법으로 벗겨지는 경우가 많아 위험할 수 있습니다.

저는 Netgear의 ReadyNAS 상자와 Thecus 상자를 사용해 왔으며 두 가지 유형의 제품 모두에서 항상 그랬습니다. 직접 해킹하는 것보다 공장 초기화를 고려하여 정상으로 되돌리는 것이 좋습니다.

상자를 재구성해야 하지만 이는 일반적으로 IP 백업을 설정하고 일부 사용자 계정을 생성하는 것뿐입니다.

이 작업을 수행하는 방법에 대한 Synology의 실제 페이지로 안내해 드리겠습니다.

답변2

루트가 되기 위해 su할 필요가 없습니다. 작업을 완료하려면 sudo를 사용하세요. 예를 들어 귀하의 경우에는 다음을 사용할 수 있습니다.

sudo chsh -s /opt/bin/bash root

그러면 특정 사용자에 대한 셸이 변경됩니다. 요청 시 비밀번호를 제공하세요.

노트:sudo를 사용하려면 사용자가 sudoers 그룹에 속해야 합니다.

답변3

Synology DS212j에서 동일한 문제가 있었고 세 번째 부분 패키지 "Profile Editor"를 사용하여 해결했습니다. 다음에서 패키지를 다운로드할 수 있습니다.여기. "구성 파일 편집기" 구성 파일에 /etc/passwd를 추가해야 합니다(파일 목록의 마지막 파일입니다).

답변4

여전히 루트("admin") 비밀번호가 있는 경우 웹 인터페이스에서 다른 사용자를 추가한 다음 해당 사용자에게 관리자 권한을 부여하고 다른 계정에서 문제를 해결할 수 있습니다.

실패할 경우 slm의 링크(Synology 시스템을 재설정하는 방법)

관련 정보