sudoを使用せずにユーザーに特定の権限を付与できますか?

sudoを使用せずにユーザーに特定の権限を付与できますか?

.sudoapache2date -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解決策は最も簡単です。

関連情報