루트가 아닌 사용자로 ntp 명령을 실행하는 방법은 무엇입니까?

루트가 아닌 사용자로 ntp 명령을 실행하는 방법은 무엇입니까?

ntpd및 같은 NTP 명령은 ntpdate권한이 있으며 루트 그룹에 속합니다. 루트가 아닌 사용자로 이러한 명령을 실행하는 가장 좋은 방법은 무엇입니까? Linux 기능, 소유권, 접근 방식이 있나요? 저는 openSUSE 13.2를 사용하고 있으며 도움이 될 수 있는 Linux 기능이 있다면 더 선호합니다(물론 해당되는 경우). 나는 Linux 기능 목록을 보고 두 가지 모두에 CAP_DAC_OVERRIDE, CAP_SYS_ADMIN, CAP_SYS_RAWIO, 을 적용해 보았 으나 성공하지 못했습니다.CAP_SYS_TIMEntpdntpdate

답변1

다음 두 가지 구성 옵션은 보안을 향상하는 데 도움이 됩니다 ntpd.

NTPD_OPTIONS="-g -u ntp:ntp"
NTPD_RUN_CHROOTED="yes" 

설명하다

  • NTPD_OPTIONS="-g -u ntp:ntp"- -g시작 시 한 번 설정하면 ntpd는 1000으로 설정된 기본 임계값을 무시합니다. -u ntp:ntp데몬을 ntp 사용자 및 그룹으로 실행합니다.
  • NTPD_RUN_CHROOTED="yes"- ntpd를 실행시키세요뿌리 뽑힌, 취약점 악용으로 인한 피해를 줄입니다.

ntpd는 ntp 사용자로 실행되고 ntpdate를 사용하여 수동으로 시간을 조정하므로이는 좋은 접근 방식이 아닙니다., 왜 ntpdate에 신경쓰시는지 이해할 수 없습니다. 수동 쿼리를 강제하려면 sudo ntpd -gq다음을 사용하여 /etc/sudoers파일에 추가하세요.

your-username ALL = (root) NOPASSWD: /usr/sbin/ntpd -gq

관련 정보