タイトルは基本的にすべてを教えてくれます。
KDEパーティションマネージャはアプリケーションを開いた後にパスワードを要求しますが、GNOMEディスクはそうではありません。ディスク(ディスク)は、デフォルトで特権の昇格を試みることなくすべての操作を実行できます。
Ubuntu対KDEネオン、Fedora対Fedora KDE、OpenSUSE Tumbleweedなど、いくつかのディストリビューションでこのようなことが起こっているのを見ました。
彼らはいかにそしてなぜそう行動するか。
答え1
違いは、2つがシステムのデバイスに関する情報を取得する方法です。通常のユーザーとして、UDevデータベースとsysfsからブロックデバイスに関するいくつかの情報を取得できますが(これがlsblk
機能する理由です)、特にLVMやMD RAIDなどの高度な設定では、root権限を必要とするツールを使用する必要があります。ただし、パーティションに関する詳細情報を取得するにはルートが必要ですfdisk -l
。許可が拒否されましたルートとして実行しない場合)。
これが、KDEパーティション管理者がすぐに認証を受ける必要がある理由です。次sfdisk
のcryptsetup
ツールを実行します。lvm
KPMコアこのため、GUIはrootとして実行されませんが、これは重要ではありません。
GNOMEディスクにこれが必要ない理由は何ですか?次のデータを使用します。Uディスク。 UDisksはrootとして実行されているデーモンなので、すでにすべての情報を持っており(KDEパーティションマネージャと同じツール/ライブラリを使用しています)、誰もが「読み取り」アクセスを提供します(udisksctl dump
知っていることを確認できます)。何かを変更する操作(パーティションの削除など)にのみ認証が必要です。ポルキット。
KDE Partition ManagerがUDiskを使用していない理由は何ですか?わかりません。推測しかできません。 UDiskは長い間LVMのような「高度な」リポジトリをサポートしていませんでした(主な焦点は、デバイスのマウントと同様の「簡単な」機能に焦点を当てています)。したがって、KDE Partition Managerの作成者はそれを使用しないことにした理由です。
答え2
「なぜこれが起こるのですか?」という質問に対する答えではなく、パスワード要求を無効にする方法です。
ディレクトリ/etc/polkit-1/rules.d
にexampleというファイルを作成しますpartmanager.rules
。次に、そこに以下を書きます。
polkit.addRule(function(action, subject) {
if (action.id == "org.kde.kpmcore.externalcommand.init" &&
subject.isInGroup("yourusername")) {
return polkit.Result.YES;
}
});
yourusername
ユーザー名に変更してください。
今、 kdeパーティションマネージャを開いたときにパスワードを求められません。
「パスワードを要求する理由」に関する質問は、おそらく現在プログラムされている方法によるものです。可能であれば、まずパスワードを要求せずにパーティションをスキャンし、変更が完了したときにのみ尋ねることに同意します。ただし、これを行うには、次のアドレスに適切なバグレポートを提出してください。https://bugs.kde.org。