Python 스크립트 실행을 허용하지만 해당 내용을 읽지 않음

Python 스크립트 실행을 허용하지만 해당 내용을 읽지 않음

내 Python 스크립트가 내 서버에서 어떻게 실행되는지 클라이언트에게 보여주고 싶고 그에게 액세스 권한을 부여하겠습니다. 또한 나는 그가 Python 스크립트의 코드를 볼 수 없도록 하고 단지 실행만 하기를 바랍니다. Linux를 통해 이 작업을 수행할 수 있습니까? 추가 사용자를 생성하면 될까요?

답변1

따라서 일반적으로 이와 같은 질문에 대한 대답은 "아니요, 쉽지 않습니다"입니다. 그러나 귀하의 특정 경우에는 실제로 해결책을 찾을 수 있을 것이라고 생각합니다.

귀하의 클라이언트가 사용자로 서버에 로그인한다고 가정합니다 alice. 스크립트를 소유하는 다른 bob사용자를 생성하고 해당 사용자만 스크립트를 읽고 실행할 수 있도록 설정합니다 bob.

# chown bob /path/to/myscript
# chmod 700 /path/to/myscript

이제 스크립트를 사용자로 실행할 sudo수 있는 구성을 만듭니다 . 예를 들어 다음 구성으로 생성합니다.alicebob/etc/sudoers.d/alice

alice ALL=(bob) NOPASSWD:/path/to/myscript

지금:

  • 클라이언트가 로 종료되었습니다 alice. alice해당 스크립트를 읽거나 실행할 수 없습니다.
  • alice를 실행하여 스크립트를 실행할 수 있습니다 sudo -u bob /path/to/myscript. 그러면 사용자로 스크립트가 실행됩니다 bob.

이 솔루션에는 특정 제한 사항이 있습니다. 예를 들어 스크립트가 호출자와 다른 사용자로 실행되므로 호출자의 홈 디렉터리에 파일을 만드는 데 문제가 있을 수 있습니다.

관련 정보