prove
rsync가 원격 서버에서 다운로드한 파일에 대한 권한을 변경할 수 있도록 루트 권한이 필요한 백업 스크립트를 테스트하는 Perl 테스트 스크립트가 있습니다 .
따라서 Mac의 sudoers 파일에는 다음이 있습니다.
root ALL=(ALL) ALL
%admin ALL=(ALL) ALL
%admin ALL=(ALL) NOPASSWD:/path/to/prove
효과가있다. 하지만 제 질문은 prove
로컬 사용자가 작성한 거의 모든 Perl 스크립트를 실행하는 데 사용할 수 있기 때문에 이것이 큰 보안 위험입니까?입니다.
답변1
예, 이 방법은 안전하지 않습니다.
이후에 호출되는 명령을 실행하는 특정 래퍼를 작성하고 prove
, 루트만 수정할 수 있도록 보호하고, 루트만 액세스할 수 있는 위치에 배치합니다. 그런 다음 추가저것파일에 대한 래퍼입니다 sudoers
.
매개변수는 스크립트에서 허용되지 않습니다.
참고: 누군가가 첫 번째 Perl 스크립트나 백업 스크립트를 수정할 수 있는 경우에도 남용될 수 있습니다. 체인의 모든 항목은 에서만 액세스할 수 있도록 해야 합니다 root
.