私はビジーボックスで構築された組み込みシステムを持っています。 「app」という名前のユーザーがプログラム/スクリプトをディレクトリにダウンロードすることを許可し、起動時に実行されます。
プログラムで日付を設定できるようにする必要があります。 「app」ユーザーとして実行されます。
非rootユーザーの「アプリ」が日付を設定できるようにbusyboxを設定するにはどうすればよいですか? 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
「suid」バージョンのbusybox
を使用している場合は、次のようにrootとしてdate
コマンドを実行することができます。
ファイル/etc/busybox.conf
:
...
[SUID]
date = ssx root.root
...