ユーザーがネットワーク接続と状態を変更するための許可を設定するにはどうすればよいですか?たとえば、ユーザーが新しいワイヤレスネットワークに接続することを許可/禁止するにはどうすればよいですか?ユーザーがネットワークをオフにすることを許可/禁止するにはどうすればよいですか?
1人以上のユーザーのローカルポリシーを作成できます。
設定が保存されるドキュメントを作成します...
touch /var/lib/polkit-1/localauthority/50-local.d/10-network-manager.pkla
1つ以上のポリシーを追加...
[fooがネットワークのシステム設定を変更できるようにする] Identity = unix-user:foo Action = org.freedesktop.NetworkManager.settings.modify.system ResultAny = no ResultInactive = no ResultActive = yes [fooによるネットワークの有効化/無効化を許可しない] Identity = unix-user: foo Action = org.freedesktop.NetworkManager.settings.enable-disable-network ResultAny = no ResultInactive = no ResultActive = no
キーはResultActive
要素で、yes、no、auth_admin、またはauth_admin_keepに設定できます。後者の2つでは、Sudo特権を持つ別のユーザーのパスワードが必要になります。
Action
要素は、許可または禁止するアクション、またはパスワードによる認証を要求するアクションを定義します。ネットワークを有効/無効として切り替えるためのorg.freedesktop.NetworkManager.enable-disable-network
などのオプションがあります。 /usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy
ファイルには他のオプションがあります。<action id="org.freedesktop.NetworkManager.enable-disable-network">
のようなものを探して、その説明を読んでください。
*
ワイルドカードを使用してすべての値を設定することもできます...
[fooが管理者パスワード以外のすべてのネットワーク状態と設定を変更しないようにします] Identity = unix-user:foo Action = org.freedesktop.NetworkManager。* ResultAny = no ResultInactive = no ResultActive = auth_admin_keep
これには、ネットワーク設定または状態を変更するためのパスワードが必要です。
スクリプトに含めることができる単一のコマンドでこれを行うことができます...
Sudo su -c 'printf "[fooがすべてのネットワーク状態と設定を変更しないようにする]\nIdentity = unix-user:foo\nAction = org.freedesktop.NetworkManager。*\nResultAny = no\nResultInactive = no\nResultActive = auth_admin "> /var/lib/polkit-1/localauthority/50-local.d/10-network-manager.pkla'
参照: