web-dev-qa-db-ja.com

接続の追加/アクティブ化に失敗しました。 (32)不十分な特権

MATEデスクトップ環境を備えた最小限のUbuntuシステムの新規インストールを行っています。 NetworkManagerのアイコンをクリックしてから接続するワイヤレスネットワークをクリックすると、次のようなダイアログボックスが表示されます。

接続障害

接続の追加/アクティブ化に失敗しました

(32)権限が不十分です。

Lubuntu 14.04.1の代替インストーラーを使用してUbuntu 14.04をクリーンに再インストールし、選択します F4 ->「基本的なコマンドラインシステムをインストールする」、次にX、MATEおよびNetworkManagerを次のように手動でインストールします。

Sudo apt-get install software-properties-common -y
Sudo apt-add-repository ppa:ubuntu-mate-dev/ppa -y
Sudo apt-add-repository ppa:ubuntu-mate-dev/trusty-mate -y
Sudo apt-get install xorg mate-core --no-install-recommends -y
Sudo apt-get install network-manager network-manager-gnome --no-install-recommends -y

それが助けになれば、Ubuntuをそのようにインストールすると、USBフラッシュドライブの接続およびマウント解除時にパスワードを要求されます。また、shutdownコマンドのショートカットを作成し、アイコンをクリックしてコンピューターをシャットダウンできるようにするには、/sbin/shutdownのアクセス許可を変更する必要があります。

chmod u+s /sbin/shutdown

Wi-Fiでも同様のことが行われている可能性があり、適切に機能するためにアクセス許可を変更する必要がありますか?

6

ステップ1

これは、NetworkManagerのPolicyKitルールを修正することで解決できます。まず、.pklaセクションを持つ[nm-applet]セクションが/etc/polkit-1/localauthority/10-vendor.dに既に存在するかどうかを確認します。ある場合は、バックアップを作成し、このファイルのResultAny=noセクションで[nm-applet]値をyesに変更します。

これらのポリシールールファイルの構造は here で説明されています。

このファイルが10-vendor.dフォルダーにない場合、PolicyKitルールを手動で作成します。次の行を含むorg.freedesktop.NetworkManager.pklaという名前のファイルを作成します。

[nm-applet]
Identity=unix-user:your_username
Action=org.freedesktop.NetworkManager.*
ResultAny=yes
ResultInactive=no
ResultActive=yes

このファイルのyour_usernameを実際のログイン名に置き換えます。複数のユーザーを追加する場合は、Identityエントリを次のように変更します(ユーザー名を目的のユーザー名に置き換えます)。

Identity=unix-user:username1;unix-user:username2

さらにユーザーを追加する場合は、すべてのユーザーを netdev group with useraddに追加し、ルールを次のように変更することを検討する必要があります。

Identity=unix-group:netdev

次に、この.pklaファイルをPolicyKitディレクトリにコピーします。

Sudo cp org.freedesktop.NetworkManager.pkla /etc/polkit-1/localauthority/50-local.d/

ステップ2

また、PolicyKit認証エージェントが実行されているかどうかも確認する必要があります。このルールがないと、このルールは機能しません。 ps -ef | grep kit | grep agentが何も返さない場合、実行されていません。
このバイナリが存在するかどうかを確認してください。 GNOMEの場合、このファイルは次の場所にあります。

/ usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1

MATEの場合は、次の場所にあります(それぞれ32ビットおよび64ビットの場合):

/ usr/lib/i386-linux-gnu/polkit-mate/polkit-mate-authentication-agent-1
/usr/lib/x86_64-linux-gnu/polkit-mate/polkit-mate-authentication-agent-1

その場所は、DEによって異なる場合があります。そこで見つからなかった場合は、それを探します:

locate agent | grep -v -E '^/var|doc|so|helper' | grep pol

何も見つからなかった場合、PolicyKitエージェントはまったくインストールされていません。 apt-cache search PolicyKit Authentication AgentコマンドでAPTデータベースでパッケージ名を検索し、DEに適切なパッケージをインストールします。 MATEの場合、mate-polkitになります。

何らかの理由で自動的に起動しません。 PolKitエージェント/etc/xdg/autostartランチャーの.desktopを検索し、起動に失敗した理由を分析できます。または、DEの「スタートアップアプリケーション」を使用して独自のランチャーを作成し、Polkit Authentication Agentコマンドを追加して適切に起動することができます。

興味のある方は、PolicyKitの特権について、広範囲にわたるニース 記事 があります。

7
whtyger

@whtygerの回答は、unbuntu 16.04で完全に機能します。 MATEが何なのかわかりませんが、php execを介してbash/pythonスクリプトを実行しようとしました。 (長い話、これらのコマンドをphpから実行しようとしています。) Ubuntuでは、端末からネットワーク設定を制御できませんでした。これらの指示に従って、今私は本当に幸せです!お役に立てれば!

echo exec('python3 pypia/pypia.py -s -r us  2>&1',$out);
var_dump($out);
0
Chad