반응형
SMACK 환경에서 timedatectrl 서비스 실행불가 관련 이슈사항에서 정리한다.
이슈사항
다음과 같은 메시지가 뜨면서 서비스 or 명령어가 동작하지 않는다
The name org.freedesktop.PolicyKit1 was not provided by any .service files
좀 특이한 상황이긴한데... 다음과 같은 경로로 재현이 되었다.
- 특졍 user 권한으로
timedatectrl
명령어 실행 (system api 로 바로 실행) - 해당 명령어 실행시 journalctl 에서 로그르보면
Failed to set time: The name org.freedesktop.PolicyKit1 was not provided by any .service files
의 에러가 발생 - 으잉? 실제 해당 어플리케이션에서는 service 동작을 하지 않는데도 발생
timedatectrl 명령어
위의 이슈는 timedatectrl 명령어의 특수성 때문에 발생하는것으로 보인다.
- timedatectrl 명령어의 help 나 각종문서를 찾아보면 timesyncd service 와 연계되서 동작된다.
- 즉,
user 퍼미션 프로세스
에서 timedatectrl 명령어를 사용할경우 user 퍼미션 에서 timesyncd service 를 컨트롤하는 것과 동일하다고 보면될것 같다.
즉, smack 적용시 timedatectrl 명령어를 사용하는 user 는 service
를 컨트롤하는 권한이 있어야한다. service 를 컨트롤하는 권한은 너무 막강한 권한이기 때문에 일반적인 상황에서는 해당 명령어를 사용하기위해 권한을 올리는것은 보안에 위배된다고 생각한다.
그러므로 usermode 에서는 timedatectrl 명령어를 사용하는것을 피하는게 좋을것 같다.
rtc 를 읽고 쓰기위해서 해당명령어를 사용하는것 같은데 timedatectrl 명령어 대신, hwclock 명령어를 사용하면된다.
반응형