私は通常のユーザーに(スーパーユーザーのように)FreeBSDのすべてのファイルをfchown()する機能を提供したいと思います。一般に、特定のシステムコールの権限確認を変更する正しい方法はありますか?
私はCapsicumを見ましたが、そのトピックに関するすべての記事について実際のケースがありません。
答え1
1つの回避策は、独自のプログラムを作成し、それをfchown()
root:wheelに設定し、setuidビット(chmod +s
)を設定することです。 setuid ビットで実行されるファイルは、実行可能ファイルの所有者として実行されます。
警告する
特定のコンテキストを提供していませんが、ユーザーがfchown()
rootとして実行できるようにすることは、システム全体のアクセス権を取得する最初のステップです。たとえば、人々は所有者を変更したり/etc/{passwd,group,shadow}
、コンテンツを変更したり、所有者を変更したり、すぐに実行したりできます。インスタントルート。