cygwin: chroot 감옥 - 어떤 명령도 실행할 수 없습니다

cygwin: chroot 감옥 - 어떤 명령도 실행할 수 없습니다

Cygwin을 설치했습니다아파치, PHP, 머큐리얼, MYSQL, OpenSSH, PYTHON

사용자 정의 폴더에 액세스하기 위해 chroot Jail로 sshd_config를 업데이트했습니다.

예:

일치 그룹 sftp_users

Chroot디렉토리 /home/%u

SSH/SFTP가 원하는 대로 잘 작동합니다.

SSH에 연결한 후 bash를 얻습니다. ' 와 같은 명령을 실행하고 싶다면 'dir, hg, mysql, whatever간단히 얻을 수 있습니다.command not found

며칠 동안 인터넷 검색을 통해 아래 단계를 시도했습니다.

  1. 모든 파일을 C:/cygwin/bin'C:/cygwin/home/username/bin'으로 복사하는 것과 유사합니다. dev,etc,lib,sbin,tmp,usr,var이것은 실제로 다음과 같은 다른 오류를 발생시킵니다.error while loading shared libraries
  2. SSH 연결 명령이 변경되지 않은 것처럼 fstab업데이트 를 시도했습니다.C:/cygwin/bin /bin ntfs binary 0 0
  3. SSH 연결을 하면서 경로 추가를 시도했고 plink.exe ssh -pw xxx username@hostname -v C:/cygwin/bin/python또한 시도했습니다.plink.exe ssh -pw xxx username@hostname -v ../bin/python
  4. sshd_config기본값으로 변경하면 어떻게든 명령이 작동하지만 아래 이미지와 유사한 유선 출력이 표시됩니다.plink SSH 연결 유선 후 명령 프롬프트 응답

도와주세요. 이것이 제 생명을 구할 수 있습니다.

답변1

Cygwin은 Linux 및 POSIX 호출을 Windows API 호출로 다시 매핑하는 dll을 제공합니다. chroot와 같은 도구는 적절한 Linux 사용자 공간이 있어야 하며 cygwin과 같은 작업 영역을 사용할 때 제대로 매핑되지 않습니다. 하지만 실제로 이 작업을 수행하려면 가능합니다.여기필요할 수도 있습니다.

대신 내가 추천하고 싶은 것은실제 Linux 사용자 공간새로운 것과 함께Linux용 Windows 하위 시스템. 이는 일반 Linux 시스템에서 얻을 수 있는 실제 Linux 사용자 공간과 함께 Microsoft에서 지원하는 실제 Linux 호환 커널 인터페이스를 제공합니다. 당신이 언급한 도구는 모두 해당 설정, chroot 등에서 잘 작동해야 합니다.

관련 정보