사용자가 올바른 사용자가 아닌 경우 암호나 기타 인증을 요구하지 않고 잘 정의된 명령을 루트로 실행할 수 있도록 허용하는 규칙을 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
사용자가 시스템에 대한 다른 액세스를 원하지 않거나 사용자가 직접 명령을 작성하는 것을 원하지 않는 경우입니다.