CD 명령을 사용하여 디렉토리를 변경할 수 없습니다

CD 명령을 사용하여 디렉토리를 변경할 수 없습니다

내 상황은 일반적이지 않을 수 있습니다. 이것은 내가 얻는 반대 셸입니다. 나는 루트 디렉토리에 갇혀 있음을 발견했습니다. "cd"를 통해 현재 디렉토리를 다른 곳으로 변경할 수 없었습니다. 그러나 다른 디렉터리의 파일을 나열/읽고 전체 경로를 제공할 수 있습니다.

또한 어떤 식으로든 쉘을 업그레이드하려고 하면 리버스 쉘이 죽습니다.

예: python -c "import pty;pty.spawn('/bin/bash')"아니면 그냥/bin/bash

passwd 파일에서 내 사용자는 "mark"이고 쉘 필드가 누락되었습니다.

mark:x:1001:1001::/home/mark:

/etc/passwd에서 추출

그러나 쉘 필드를 제거한 후 로컬 PC에서 동일한 사용자를 다시 생성했으며 /bin/sh쉘 기본값을 제외하고 모든 기능이 정상적으로 작동합니다.

이 이상한 행동의 이유는 무엇입니까?

답변1

cd내장 쉘 명령입니다. 사용자에게 쉘이 없습니다. 사용자에게 쉘을 추가하려면 다음에서 실행하십시오.뿌리사용자

usermod -s /bin/bash mark

관련 정보