ビジーボックス(Busy Box)で構築された組み込みシステムがあります。 「app」というユーザーがプログラム/スクリプトをディレクトリにダウンロードできるようにすると、起動時に実行されます。
プログラムで日付を設定できる必要があります。 「アプリ」ユーザーとして実行されます。
root以外のユーザー「アプリ」が日付を設定できるように、ビジボックスをどのように設定しますか? 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」バージョンがある場合は、次のようにコマンドをrootとして実行busybox
できます。date
文書/etc/busybox.conf
:
...
[SUID]
date = ssx root.root
...