나는Python 가상 환경, Python 실행 파일은 /bin
이 디렉터리에 있습니다. 이 virtualenv에서는 일부 안전하지 않은 코드를 실행해야 하므로 시스템이 손상될 수 있습니다. 나는 chmod a-r
virtualenv에서 그것을 시도했고 이제 아무도 거기에 쓸 수 없지만 그 상위 디렉토리는 이제 보호되지 않습니다.
그러면 어디에도 쓸 수 없도록 권한을 변경할 수 있을 것 같은데 /bin/python
어떻게 해야 합니까?
시도해 보았지만 chmod a-r bin/python
여전히 환경 외부에서도 파일과 디렉터리를 삭제할 수 있습니다.
답변1
첫째, chmod a-r bin/python
Python은 파일 삭제를 방지하지 않습니다. 이는 소유자가 아니거나 올바른 그룹에 속하지 않은 사람이 파일을 읽는 것을 방지합니다.
"감옥"에서 안전하지 않은 코드를 실행하려면 다음을 사용하는 것이 좋습니다.chroot 감옥. chroot를 효과적으로 실행하려면 Python 실행 파일을 루트 권한으로 실행하면 안 됩니다.
답변2
Python은 호출하는 사용자의 권한에 따라 실행되므로 Python이 터치하고 조작하고 읽을 수 있는 내용을 제한할 수 없습니다.
답변3
실제로 chmod a-r bin/python
이는 파일 소유자, 파일 그룹의 사용자 및 기타 모든 사용자(물론 슈퍼유저 제외)가 파일을 읽는 것을 방지합니다. chmod o-r bin/python
파일 그룹의 소유자와 사용자를 제외한 모든 사용자는 파일을 읽을 수 없습니다. 실행 파일의 파일 권한은 다른 파일을 읽거나 편집하는 기능에 영향을 주지 않습니다. 파일 권한은 적용되는 파일을 읽고, 쓰고, 실행할 수 있는 사용자만을 결정합니다.다른 것들).
답변4
몇 가지 옵션이 표시됩니다.
- 가상 머신 사용
- chroot 내에서 실행
- 다른 사용자로 실행
- 제한을 위해 의류와 같은 LKM을 사용하십시오.
호환이 가능하므로 여러 개를 적용할 수 있습니다.
위에서 언급했듯이 chroot 또는 다른 사용자는 네트워크(ab) 사용을 차단하지 않습니다.
또한 /usr/bin/python에 적용되는 제한 사항은 실행하는 모든 Python 프로그램에 영향을 미칩니다. 시스템의 나머지 부분에 영향을 주지 않고 잠금을 위해 다른 파일 이름을 사용하는 데 관심이 있을 수 있습니다.