web-dev-qa-db-ja.com

root以外のユーザーがパーティションをフォーマットできないようにする

数日前、コンピュータのコンテキストメニューから[フォーマット]をクリックして、外付けハードドライブのパーティションを誤ってフォーマットしました。 root以外のユーザーがそうすることができないようにするにはどうすればよいか知りたいです。同時に、root以外のユーザーがパーティションの読み取りと書き込みを行えるようにする必要があります。

私はFedora14を使用しています。

ありがとう。

4
Dharmit

nc3b すでに指摘されているように、これはPolicyKitによって制御されます。ディスクのポリシーは/usr/share/polkit-1/actions/org.freedesktop.udisks.policyにあり、調整できます。
root権限で開き、次の行を検索します:<action id="org.freedesktop.udisks.change">、ブロック全体をコメントアウトする:<!-- [udisks.change-block] -->、または<allow_active>を 'no'に設定し、保存して終了します。

無効になっているかどうかを確認します。

$ pkaction --verbose --action-id org.freedesktop.udisks.change
No action with action id org.freedesktop.udisks.change

または、noを設定した場合:

...
implicit active:   no

次回、コンテキストメニューまたは[ディスクユーティリティ]を使用して、root以外のユーザーとしてデバイスをフォーマットしようとすると、許可されないというエラーメッセージが表示されます。この手順では、root以外のユーザーがデバイスの読み取り/書き込みを行うことができます。


それでもデバイスのフォーマットを許可したいが、セキュリティレベルが高い場合は、PolicyKitに毎回パスワードを要求させることができます。
同じファイルを開いて同じセクションに移動し、allow_activeの「yes」を「auth_admin」に置き換えます。

<allow_active>auth_admin</allow_active>

小切手:

$ pkaction --verbose --action-id org.freedesktop.udisks.change
...
implicit active:   auth_admin

優秀な!

注:これはUbuntuでのみテストしましたが、FedoraもPolicyKitを使用しているため、最初にダミードライブで試してください。

5
wag

これは、ポリシーの引き上げの場合である可能性が最も高いです。あなたが正直な端末からそれをするとき、これは何が起こるかです:

nc3b@aiur:~$ /sbin/mke2fs -jv /dev/sda1
mke2fs 1.41.3 (12-Oct-2008)
mke2fs: Permission denied while trying to determine filesystem size

Gnomeから実行する場合、またはスーパーユーザーアクションを実行するときに特権を昇格することをタスクとするデーモンが存在する場合(通常、特権操作であると警告し、パスワードを要求します)。 FedoraはPolicyKitを使用していると思いますが、 これらのシステムは同様に機能します

それらのほとんどの本当の危険は、「このパスワードをキーリングに入れておく」などの提案をして、二度と警告しないことです。

Sudo、[6] gksudo、およびkdesuは、プログラムを昇格させるために呼び出されるたびに、ユーザーにパスワードの再入力を要求しません。むしろ、ユーザーは最初に一度パスワードを求められます。ユーザーが管理者権限を一定期間使用しなかった場合(Sudoのデフォルトは5分[6])、ユーザーはパスワードを再度入力するまで、再び標準のユーザー権限に制限されます。

したがって、解決策は、パスワードを入力したとしても、これらのタスクを実行する権限を単に持たないユーザーを使用することです。

3
nc3b

ルート以外のユーザーがディスクをフォーマットできる場合、Fedoraにはいくつかの深刻なセキュリティ問題があります。最善の方法はこれです:

chown root:root /dev/[sh]da[0-9]
chmod 0600 /dev/[sd]da[0-9]

次に、「root以外のユーザーがパーティションで読み取りと書き込みを行えるようにする」必要がある場合、ファイルシステムの読み取りと書き込みを意味する場合は、マウントされていれば問題ありません。

他のことを意味する場合は、読み取りと書き込みを実行しているプログラムのアクセス許可を変更すると(おそらく、Sudoを介して実行することにより)、問題が解決する可能性があります。

それ以外は、パーティション構造はディスクのスーパーブロックに格納されていると思います(例:/ dev/sda-​​番号なし)。したがって、これを0600に設定し、パーティションをより許容度の高いマスク( 0660およびグループ所有)が問題を解決する可能性があります。

2
amphetamachine