현재 여러 서버에서 명령을 자동으로 실행할 수 있는 응용 프로그램을 개발 중입니다.
서비스 구성을 변경하면 서비스 구성을 다시 시작(또는 다시 로드)해야 하므로 일부 명령에는 루트 권한이 필요합니다. 이를 작동시키기 위해 sudo 명령 중에 사용할 수 있도록 사용자의 비밀번호를 암호화하고 텍스트 파일에 저장했습니다. 나는 이것이 큰 위협이라고 생각하지만 응용 프로그램이 루트 권한으로 실행되는 것을 원하지 않았습니다.
어떤 아이디어가 있나요?
답변1
사용자가 실행할 수 있는 명령을 제한할 수 있습니다.sudo. 또한,NOPASSWD옵션sudoers암호화된 비밀번호 "기능"을 사용하는 대신 해당 사용자의 컨텍스트에서 파일을 삭제합니다.
다음은 권한이 없는 사용자가 재시작을 실행하도록 허용하는 예입니다.iptables서비스:
geewid ALL = (root) NOPASSWD: /sbin/service iptables restart, /sbin/service iptables reload
명령 목록은 쉼표로 구분됩니다...
당신은 또한 사용할 수 있습니다Cmnd_Alias특징:
Cmnd_Alias FOOBAR = /sbin/service iptables restart, /sbin/service iptables reload
geewid ALL = (root) NOPASSWD: FOOBAR