독점 코드와 실행 가능한 스크립트는 어디에 저장됩니까? [폐쇄]

독점 코드와 실행 가능한 스크립트는 어디에 저장됩니까? [폐쇄]

bash 스크립트를 사용하여 Python 코드를 실행하고 있습니다. sudo를 사용하지 않는 사용자가 Python 코드를 읽을 수 없게 만들지 않고도 실행할 수 있기를 바랍니다. 권장되는 패턴은 무엇입니까?

제가 고려하고 있는 두 가지 방법은 다음과 같습니다.

  1. 모든 코드를 사용자 코드 아래에 넣고 HOME필요한 경우 읽을 수 없거나 실행 가능하도록 만듭니다.
  2. 아래에 모든 코드를 입력 /usr/local하고 관련 bash 스크립트를 추가하세요.sudoers
  3. 아래의 모든 코드를 배치 /root하고 관련 bash 스크립트를 사용자 PATH또는 bin폴더 에 추가하십시오.

이를 구축하는 방법은 여러 가지가 있으므로 여러분의 생각을 듣고 싶습니다.기준또는존경받는방법은 다음과 같습니다.

답변1

사용자가 소스 코드를 읽을 수 없도록 하는 일반적인 방법달리게 하다될거야사용자를 대신하여 작동하는 서비스 작성필요한 권한을 갖습니다. 그런 다음 사용자에게 소켓이나 TCP 포트 등 서버와 통신할 수 있는 방법을 제공합니다. 이 시점에서 코드는 더 이상 사용자가 사용할 수 있는 컨텍스트에서 실행되지 않습니다. 예를 들어 권한 상승을 위해 서비스를 사용하려는 사용자를 고려해야 할 수 있으므로 이를 작성하는 것은 쉬운 일이 아닙니다.

답변2

나를 위해 일한 솔루션은 다음과 같습니다.

다음 행을 추가하십시오 /etc/sudoers.

user ALL = (root) NOPASSWD: /path/to/script

사용자로서 다음과 같이 스크립트를 실행하십시오.

sudo /path/to/script

이렇게 하면 스크립트 자체(및 모든 후속 Python 스크립트)가 루트로 실행되지만 동시에 그 중 어느 것도 읽거나 쓸 수 없습니다.

관련 정보