이 스크립트에서 비밀번호를 묻는 메시지를 피하려면 어떻게 해야 합니까? [복사]

이 스크립트에서 비밀번호를 묻는 메시지를 피하려면 어떻게 해야 합니까? [복사]

저는 아마존 리눅스를 사용하고 있습니다. 사용자 "otheruser"로 로그인하고 다음 텍스트로 test.sh 스크립트를 생성하면

sleep 5 ; sudo reboot now

로그인하고 다음과 같이 스크립트를 실행할 수 있습니다 ...

[davea@mydevbox ~]$ sudo su - otheruser
[sudo] password for davea: 
Last login: Wed Apr 20 21:18:48 UTC 2016 on pts/0
[otheruser@mydevbox ~]$ sh test.sh 
[otheruser@mydevbox ~]$ 
Broadcast message from [email protected]
    (/dev/pts/0) at 21:19 ...

The system is going down for reboot NOW!

그러나 스크립트의 내용을 다음과 같이 변경하면

sudo service jboss restart

그런 다음 스크립트를 실행하면 비밀번호를 묻는 메시지가 표시됩니다.

[davea@mydevbox ~]$ sudo su - otheruser
[sudo] password for davea: 
Last login: Wed Apr 20 21:09:03 UTC 2016 on pts/0
[otheruser@mydevbox ~]$ sh test.sh 
[sudo] password for otheruser: 

두 번째에는 비밀번호를 입력하라는 메시지가 표시되지 않으므로 두 번째 시퀀스가 ​​첫 번째 시퀀스와 비슷해지기를 원합니다. 어떻게 해야 하나요?

답변1

또 다른 접근 방식은 특정 그룹의 구성원이 다시 시작할 수 있도록 즉, 직접 권한을 부여하도록 PolicyKit을 구성하여 수퍼유저 권한을 얻기 위해 인증을 충족하는 전체 문제를 피하는 것입니다.

/etc/polkit-1/localauthority/50-local.d/50-local.pkla 파일을 생성하고 다음 절을 추가합니다.

[Allow reboot by booters group]
Identity=unix-group:booters
Action=Action=org.freedesktop.consolekit.system.restart-multiple-users
ResultAny=yes

그런 다음 해당 그룹의 구성원 자격이 있는 사용자로부터 작업을 실행합니다.

관련 정보