루트가 아닌 사용자가 날짜를 설정할 수 있도록 비지박스를 어떻게 설정합니까?

루트가 아닌 사용자가 날짜를 설정할 수 있도록 비지박스를 어떻게 설정합니까?

비지 박스(Busy Box)로 구축된 임베디드 시스템이 있습니다. "app"이라는 사용자가 프로그램/스크립트를 디렉터리에 다운로드하도록 허용하면 시작 시 실행됩니다.

프로그램에서 날짜를 설정할 수 있어야 합니다. "앱" 사용자로 실행됩니다.

루트가 아닌 사용자 "앱"이 날짜를 설정할 수 있도록 비지박스를 어떻게 설정합니까? suid 권한을 추가하려고 시도했지만 chmod u+s /bin/busybox.nosuid 작동하지 않습니다. 또한 busybox는 nosuid 및 suid 버전이 있는 이유에 대해 매우 열악하지만 분명히 다른 응용 프로그램으로 컴파일됩니다. 시스템에 "sudo"가 없습니다.

root# which date
/bin/date
root# ls -l /bin/date
lrwxrwxrwx    1 root     root            19 Apr 22  2016 /bin/date -> /bin/busybox.nosuid
root# ls -l /bin/busybox.nosuid
-rwsr-xr-x    1 root     root            14 Apr 22  2016 /bin/busybox.nosuid
root# date
Thu Jan 15 03:43:24 CET 1970
root# date -s 10:30
Thu Jan 15 10:30:00 CET 1970
root# date
Thu Jan 15 10:30:01 CET 1970
root# su app
app$ date
Thu Jan 15 10:30:10 CET 1970
app$ date -s 11:00
date: can't set date: Operation not permitted
Thu Jan 15 11:00:00 CET 1970
app$ date
Thu Jan 15 10:30:21 CET 1970

답변1

"suid" 버전이 있는 경우 다음과 같이 명령을 루트로 실행 busybox해 볼 수 있습니다 .date

문서 /etc/busybox.conf:

...
[SUID]
date = ssx root.root
...

관련 정보