sudo 없이 특정 사용자에 대해 특정 명령을 실행하도록 Linux를 구성하는 방법은 무엇입니까?

sudo 없이 특정 사용자에 대해 특정 명령을 실행하도록 Linux를 구성하는 방법은 무엇입니까?

이 질문은 이전에 요청된 적이 있다고 확신하지만 답변을 찾을 수 없습니다.

apt-get특정 명령(예 : )을 입력할 때 지금처럼 비밀번호를 입력할 필요가 없도록 Linux를 구성하고 싶습니다 .

어떻게 해야 하나요?

답변1

sudo가 필요하지 않도록 Linux를 구성할 수 없습니다. 일부 명령은 루트로 실행해야 합니다. 권한이 없는 계정에서 명령을 실행하려면 sudo 또는 기타 권한 상승 메커니즘이 필요합니다.

sudoers레이블이 있는 규칙을 추가하여 특정 명령에 대해 비밀번호를 요구하지 않도록 sudo를 구성할 수 있습니다 NOPASSWD:. 알아채다NOPASSWD 규칙은 동일한 명령과 일치하는 비NOPASSWD 규칙을 따라야 합니다..

%admin: ALL = (ALL:ALL) ALL
%admin: ALL = (root) NOPASSWD: apt-get

허용은 apt-get명령을 허용하는 것만큼 위험합니다. 호출자가 apt-get지정된 소스에서 패키지를 다운로드하고 지정된 후크를 호출하도록 하는 옵션을 전달할 수 있기 때문입니다.

프롬프트가 너무 많이 표시된다고 생각되면 sudo 프롬프트의 빈도를 줄일 수 있습니다.폐쇄tty_tickets엔드포인트당 한 번이 아닌 전체 세션에 대해 한 번 인증할 수 있도록 하는 옵션입니다. 기본적으로 비밀번호를 다시 입력해야 하는 제한 시간은 15분입니다.

답변2

visudo/etc/sudoers 파일을 구성하는 데 사용됩니다 . 아마도 다음과 같은 것을 원할 것입니다.

ALL ALL=NOPASSWD: /usr/bin/apt-get

man sudoers자세히보다.

sudo를 완전히 피하고 싶다면 다음과 같이 고정 비트를 설정할 수 있습니다.

chmod u+s /usr/bin/apt-get

이것이 작동하는지 여부는 응용 프로그램에 따라 다릅니다. 이런 방식으로 명령은 유효한 사용자 루트로 실행되지만 명령 자체는 해당 사실을 감지하고 그렇게 하기로 결정한 경우 작업을 거부할 수 있습니다.

관련 정보