비밀번호 없이 루트로 고정 명령을 실행할 수 있습니까? [복사]

비밀번호 없이 루트로 고정 명령을 실행할 수 있습니까? [복사]

사용자가 올바른 사용자가 아닌 경우 암호나 기타 인증을 요구하지 않고 잘 정의된 명령을 루트로 실행할 수 있도록 허용하는 규칙을 sudoers에서 정의할 수 있습니까?

이 문제(또는 매우 유사한 문제)를 해결하는 다른 방법이 있습니까?

Suid 권한 비트를 사용하시겠습니까? 어떻게 든 SSH 키를 사용할 수 있을까요?

답변1

sudoers서류특정 명령 허용허용하려면:

username ALL=(root) NOPASSWD: /bin/foo bar baz

이것은 username허용하려는 사용자이며 명령은 줄 끝에 있습니다. 명령에 대한 매개변수를 지정하면 사용자는 해당 매개변수로만 명령을 실행할 수 있지만, 여기서 매개변수를 지정하지 않으면 사용자는 자신이 선택한 모든 매개변수를 사용하여 명령을 실행할 수 있습니다. 여러 명령을 쉼표로 구분하여 지정하거나 별도의 줄로 지정할 수 있습니다.

sudoers파일 편집visudo(루트로) 이 형식의 줄을 추가하고 적절한 세부 정보를 변경하면 사용자는 높은 권한으로 지정한 명령을 실행할 수 있습니다.


NOPASSWD:사용자가 메시지를 표시하지 않고 명령을 실행할 수 있습니다. 이는 ALL호스트 제한사항이므로 무시해도 됩니다(할 수 없는 경우 알게 될 것입니다). (root)이는 루트로만 명령을 실행할 수 있음을 의미합니다.


ssh당신이 요청했기 때문에 더 낫기 는 하지만 그렇게 하는 것이 완전히 가능합니다 sudo. COMMAND=something줄의 시작 부분에 넣을 수 있습니다/root/.ssh/authorized_keys그리고 명령에 해당하는 개인 SSH 키를 사용자에게 제공합니다. 가능한 유일한 이유는 sudo사용자가 시스템에 대한 다른 액세스를 원하지 않거나 사용자가 직접 명령을 작성하는 것을 원하지 않는 경우입니다.

관련 정보