lighttpd를 실행하기 위해 그룹과 사용자를 만들었습니다.
웹 서버에서 이러한 권한(myuser:mygroup)이 있는 파일만 실행하고 싶습니다. 루트 권한으로 파일을 실행하고 싶지 않습니다.
가능합니까?
답변1
여기서 권한이 도움이 될 수 있습니다.
lighttpd
제한된 사용자로 실행하십시오. lighttpd
에서 자신을 강등시키는 사용자와 그룹을 지정할 수 있다고 생각합니다 lighttpd.conf
.
chmod
그런 다음 실행 파일이 lighttpd에서 액세스 가능하지만 루트가 소유하고 편집 되었는지 확인하십시오 700
. 이렇게 하면 루트(파일 소유자)만 실행 가능하게 됩니다. 해당 내용에 액세스하려면 디렉터리에 대한 실행 권한이 필요하므로 루트가 소유한 디렉터리에 대해 이 설정을 주의해야 합니다.
lighttpd
인증 범위를 벗어난 파일 에 어떤 방식으로든 액세스할 수 없도록 하려면 lighttpd
옵션 을 확인하세요 chroot
. 이렇게 하면 특정 디렉토리가 /
의 최상위 디렉토리 처럼 보이게 되어 lighttpd
해당 지점 "위"에 있는 항목에 액세스할 수 없게 됩니다.
php나 perl과 같은 스크립트 인터프리터를 사용하는 경우 이러한 스크립트에 액세스할 수 있어야 하기 때문에 이 문제가 포함될 수 있습니다. lighttpd
따라서 해당 스크립트와 해당 종속성(구성 파일 포함)의 복사본을 "chroot 감옥"에 넣어야 합니다. 호출됩니다. 단순히 실행 파일을 복사하는 문제가 아니라 모든 라이브러리( ldd {executable-name}
.로 식별 가능)와 기타 종속성을 복사해야 하며, 그런 다음 PHP나 Perl을 업데이트할 때 수동으로 업데이트할 책임이 있습니다.