사람들이 내 Python 스크립트를 보는 것을 원하지 않으며 내 검색에 따르면 이것이 실제로 가능하지 않지만 Python 스크립트를 루트 전용 읽기 권한으로 설정하면 작동합니까? 이에 대한 단점이 있습니까?
프로그램은 시작 시 루트로 백그라운드에서 실행되어 조건에 따라 이메일을 보냅니다. 이메일 부분에서는 사용자 이름과 비밀번호를 SMTP로 보내야 합니다. 나는 이러한 자격 증명을 보호하고 싶습니다.
답변1
텍스트 파일에서 비밀번호를 숨기면 보안이 제한될 뿐이지만 여전히 작은 개선 효과가 있습니다.
결국 Unix 비밀번호도 /etc/shadow에 저장되지만 솔트되어 있습니다.
사람들이 컴퓨터에 액세스하여 Live CD를 부팅할 수 있다면 Live CD 환경의 루트이기 때문에 컴퓨터에 있는 모든 파일을 읽을 수 있다는 점을 기억하십시오.
답변2
소유자를 루트로 변경하고 다른 사용자 및 그룹에 대한 모든 액세스 권한을 제거하면 루트 액세스 권한 없이는 누구도 스크립트를 읽을 수 없도록 효과적으로 보장할 수 있습니다.
다음 두 명령을 실행하여 이를 수행할 수 있습니다.
첫 번째는 파일 소유자(루트)만이 스크립트를 읽고 실행할 수 있는 권한을 갖도록 보장합니다.chmod 500 script.py
(해당 파일에도 쓸 수 있어야 한다면 그렇게 할 수 있지만 chmod 700 script.py
일반적으로 가능하면 최소 권한의 규칙을 따르고 싶습니다.)
두 번째 명령은 루트를 스크립트의 소유자로 만듭니다.
sudo chown root:root script.py
이 시점에서는 루트 외에는 누구도 스크립트를 읽거나 쓰거나 실행할 수 없습니다. 사용자가 실행하면 sudo
루트 사용자로 실행된다는 점을 기억하십시오.