비밀번호를 입력하지 않고 rtcwake 사용

비밀번호를 입력하지 않고 rtcwake 사용

rtcwake -m off -s 60비밀번호를 입력하지 않고 유사한 작업을 수행하고 싶습니다 .

나는 visudo를 사용하여 /etc/sudoers에 다음 줄을 씁니다. %sudo ALL = NOPASSWD: /sbin/shutdown, /sbin/poweroff, /sbin/halt, /sbin/reboot

이제 비밀번호를 입력하지 않고도 전화기를 종료할 수 있습니다. 그러나 비밀번호 없이 rtcwake를 사용하면 작동하지 않습니다. 대신 다음 메시지가 나타납니다.

rtcwake: assuming RTC uses UTC ... rtcwake: wakeup from "off" using /dev/rtc0 at Fri Dec 18 17:45:43 2015 shutdown: Need to be root

없어진 물건 있어요?

답변1

이미 사용자가 언제든지 시스템을 종료할 수 있다고 신뢰하므로 사용자가 rtcwake루트로 호출하도록 하십시오. 실행 visudo하고 /usr/sbin/rtcwake해당 줄에 추가하는 /sbin/shutdown등의 작업을 수행합니다.

답변2

이를 달성하기 위해 새로운 udev 규칙을 생성할 수 있습니다.

40-rtc-permissions.rules다음 줄을 넣을 수 있는 또는 (배포판에 따라)에 새 파일을 만듭니다./lib/udev/rules.d/etc/udev/rules.d

KERNEL=="rtc0", GROUP="wheel"

그룹이 반드시 바퀴일 필요는 없습니다. rtc0 장치에 액세스하려는 모든 사용자 그룹이 될 수 있습니다.

답변3

알고 있었다. /etc/rc.local에 다음 줄을 추가했습니다.

sudo chmod ugo+r rtc0

그리고 %sudo ALL = NOPASSWD: /sbin/shutdown, /sbin/poweroff, /usr/sbin/rtcwake /etc/sudoers에 있습니다. 내 응용 프로그램은 중요한 작업을 실행하지 않는 전용 컴퓨터에서 실행되므로 보안에 신경 쓰지 않습니다.

편집: /usr/sbin/rtcwake/etc/sudoers에 포함된 Gilles의 답변을 기반으로 합니다.

관련 정보