Unix 스크립트를 통해서만 액세스할 수 있는 파일 읽기

Unix 스크립트를 통해서만 액세스할 수 있는 파일 읽기

파일에서 비밀번호/키를 검색하는 데 필요한 기본 쉘 스크립트를 작성했습니다.

기본 스크립트 --- 호출 --- 키/비밀번호 파일 --- 기본 스크립트는 추가 인증을 위해 검색된 키를 사용합니다.

필요하다:

  1. 어떤 사용자도 파일 내용을 직접 얻을 수 없어야 합니다.

  2. 모든 사용자는 기본 스크립트를 실행할 수 있어야 합니다.

  3. 스크립트는 파일 내용에만 액세스할 수 있어야 합니다.

누구에게도 표시되지 않지만 스크립트에서 구성할 수 있는 비밀번호/키에 대한 다른 제안은 환영합니다.

참고: sudoers 방법을 시도했지만 여전히 성공하지 못했습니다.

%usersgroup ALL=(루트) NOPASSWD:/키/경로

답변1

루트로만 접근할 수 있는 비밀번호(chown root, chmod 600)가 포함된 파일을 생성해야 합니다.

이 파일에 대한 일반적인 액세스 권한을 갖고(거기서 변수를 얻을 수 있습니까?) 루트가 소유하고 다른 사용자만 읽기/실행할 수 있고 편집할 수 없도록 스크립트를 변경해야 합니다(chown root, chmod 4755).

일반적으로 스크립트에서 suid를 활성화할 수 있지만 Linux에서는 스크립트에 대해 suid를 비활성화했습니다. 다음 단계는 sudoers 줄을 추가하는 것입니다.

%usersgroup ALL=(root) NOPASSWD:/path/to/script

사용자가 sudo를 사용하여 스크립트를 실행해야 합니다.

답변2

이것이 가능한지는 잘 모르겠지만 이론적으로는 가능합니다! chmod 700 /path/to/keyBash 스크립트 외에는 누구도 읽을 수 없도록 하려면 /path/to/key에 비밀번호의 암호화된 버전을 두고 스크립트에서 이를 해독한 다음 비밀번호를 확인하도록 할 수 있습니다. 물론 루트가 아닌 사용자가 코드를 해킹하고 스크립트가 직접 작동하도록 편집하는 것을 방지하려면 스크립트에서 루트가 아닌 사용자에 대한 읽기 액세스를 비활성화해야 하므로 chmod 744 /path/to/script루트 액세스 권한이 있는 능숙한 사용자는 . chmod그리고 우리의 모든 노력을 회복하십시오. 따라서 우리는 스크립트가 암호 해독을 수행하기 위해 일부 기계 코드를 호출하도록 해야 하며, 그런 다음 DRM을 재창조하는 데 주말을 보냈다는 것을 알게 됩니다. 이것이 귀하의 질문에 대한 답변이 되기를 바랍니다. 참고로 저는 DRM(EFF 및 디자인 결함 기반)에 반대하지만 이를 재창조하는 것은 재미있을 것이라고 생각합니다.

관련 정보