SW 개발

[smack] SMACK 적용시 timedatectrl 안되는이슈

. . . 2021. 11. 16. 17:17
반응형

SMACK 환경에서 timedatectrl 서비스 실행불가 관련 이슈사항에서 정리한다.

이슈사항

다음과 같은 메시지가 뜨면서 서비스 or 명령어가 동작하지 않는다

The name org.freedesktop.PolicyKit1 was not provided by any .service files

좀 특이한 상황이긴한데... 다음과 같은 경로로 재현이 되었다.

  1. 특졍 user 권한으로 timedatectrl 명령어 실행 (system api 로 바로 실행)
  2. 해당 명령어 실행시 journalctl 에서 로그르보면 Failed to set time: The name org.freedesktop.PolicyKit1 was not provided by any .service files 의 에러가 발생
  3. 으잉? 실제 해당 어플리케이션에서는 service 동작을 하지 않는데도 발생

timedatectrl 명령어

위의 이슈는 timedatectrl 명령어의 특수성 때문에 발생하는것으로 보인다.

  • timedatectrl 명령어의 help 나 각종문서를 찾아보면 timesyncd service 와 연계되서 동작된다.
  • 즉, user 퍼미션 프로세스 에서 timedatectrl 명령어를 사용할경우 user 퍼미션 에서 timesyncd service 를 컨트롤하는 것과 동일하다고 보면될것 같다.

즉, smack 적용시 timedatectrl 명령어를 사용하는 user 는 service 를 컨트롤하는 권한이 있어야한다. service 를 컨트롤하는 권한은 너무 막강한 권한이기 때문에 일반적인 상황에서는 해당 명령어를 사용하기위해 권한을 올리는것은 보안에 위배된다고 생각한다.

그러므로 usermode 에서는 timedatectrl 명령어를 사용하는것을 피하는게 좋을것 같다.

rtc 를 읽고 쓰기위해서 해당명령어를 사용하는것 같은데 timedatectrl 명령어 대신, hwclock 명령어를 사용하면된다.

반응형