내 Python 스크립트가 내 서버에서 어떻게 실행되는지 클라이언트에게 보여주고 싶고 그에게 액세스 권한을 부여하겠습니다. 또한 나는 그가 Python 스크립트의 코드를 볼 수 없도록 하고 단지 실행만 하기를 바랍니다. Linux를 통해 이 작업을 수행할 수 있습니까? 추가 사용자를 생성하면 될까요?
답변1
따라서 일반적으로 이와 같은 질문에 대한 대답은 "아니요, 쉽지 않습니다"입니다. 그러나 귀하의 특정 경우에는 실제로 해결책을 찾을 수 있을 것이라고 생각합니다.
귀하의 클라이언트가 사용자로 서버에 로그인한다고 가정합니다 alice
. 스크립트를 소유하는 다른 bob
사용자를 생성하고 해당 사용자만 스크립트를 읽고 실행할 수 있도록 설정합니다 bob
.
# chown bob /path/to/myscript
# chmod 700 /path/to/myscript
이제 스크립트를 사용자로 실행할 sudo
수 있는 구성을 만듭니다 . 예를 들어 다음 구성으로 생성합니다.alice
bob
/etc/sudoers.d/alice
alice ALL=(bob) NOPASSWD:/path/to/myscript
지금:
- 클라이언트가 로 종료되었습니다
alice
.alice
해당 스크립트를 읽거나 실행할 수 없습니다. alice
를 실행하여 스크립트를 실행할 수 있습니다sudo -u bob /path/to/myscript
. 그러면 사용자로 스크립트가 실행됩니다bob
.
이 솔루션에는 특정 제한 사항이 있습니다. 예를 들어 스크립트가 호출자와 다른 사용자로 실행되므로 호출자의 홈 디렉터리에 파일을 만드는 데 문제가 있을 수 있습니다.