.sudo
apache2
date -s TIME
インストールして構成せずにこの権限を付与する方法はありますかsudo
?
答え1
これを行う2つの方法を考えることができます。
どちらの場合も、必要な操作(呼び出しなどstime(2)
)を実行するプログラムを作成してコンパイルする必要があります。直接電話することはできませんdate
。
www-data
また、apache2(?)を実行しているユーザーのみを含むグループが必要です。どちらの場合も、プログラムの実行機能を特定のグループに制限するため、他の人は実行できません。
オプション 1: setuid ルートにする
chown root.thegroup yourprogram
chmod 4710 yourprogram
これで、グループ内の人々だけがプログラムを実行でき、効果的なルートとして実行されます。
オプション2:機能の使用
chown root.thegroup yourprogram
chmod 710 yourprogram
setcap cap_sys_time=pe yourprogram
これは、プログラムにroot権限なしでsettimeofday(2)、stime(2)、およびadjtimex(2)を呼び出す権限を与えます。
しかし、sudo
解決策は最も簡単です。