Linuxカーネルプログラミング - ファイルを作成するか、またはroot権限でファイルを開く
に書いている私自身のシステムコールと を作成してい
root以外のユーザーが私の新しいシステムコールを呼び出すと、これらの機能は動作しません。
オプションは次のとおりです。これらの機能に を呼び出す前に、root権限を設定したり、許可777を使用してファイルを作成し、これらの関数 に呼び出す前に、多分より多くのオプションがあります
が、私はこれを行う方法を知りません。
Linuxカーネルプログラミング - ファイルを作成するか、またはroot権限でファイルを開く
に書いている私自身のシステムコールと を作成してい
root以外のユーザーが私の新しいシステムコールを呼び出すと、これらの機能は動作しません。
オプションは次のとおりです。これらの機能に を呼び出す前に、root権限を設定したり、許可777を使用してファイルを作成し、これらの関数 に呼び出す前に、多分より多くのオプションがあります
が、私はこれを行う方法を知りません。
あなたは何らかの形で(権限チェックなしで)setfsuid呼び出しをエミュレートし、現在のプロセスのfsuidを開いて復元する必要があります。 FS UIDを変更すると、実際に開いているシステムコールを呼び出すことができます。ファイルディスクリプタを自分で使用することもできます(警告:ユーザーコードもそのファイルディスクリプタを使用できます)。FS UIDを復元すると、あなたが使っているディスクリプタ。ユーザー空間に戻る前にファイルを閉じることをお勧めします。
権限を '777'に設定するには、' chmod 777 FILENAME'を呼び出します。 –
@EliSadoff:そうするためにカーネル内からプロセスを生成することは、非常にばかげた考えのようです。アクセス権を '777 'に設定するのは、通常、まず愚かな考えです。スロットマシンではありません! –
@MattiVirkkunen私はちょうど許可を '777'に設定する方法を言っていました。 –