ユーザーがpsmouseモジュールをロード/アンロードするスクリプト(ルートなし)

ユーザーがpsmouseモジュールをロード/アンロードするスクリプト(ルートなし)

modprobe -r psmouseroot権限なしでユーザーがorを実行するだけで実行できるシェルスクリプトを作成したいと思います modprobe psmouse。可能ですか?私はこのモジュールを持っています:

$ ls -l /lib/modules/4.4.0-116-generic/kernel/drivers/input/mouse/psmouse.ko 
-rw-r--r-- 1 root root 219670 Feb 12 17:06 /lib/modules/4.4.0-116-generic/kernel/drivers/input/mouse/psmouse.ko

権限を変更するだけで十分ですか?

ベストアンサー1

sudoセキュリティポリシーを調整してルールを作成します/etc/sudoers.d

  • 定義されたユーザーセット(必要に応じて1人のユーザーまたはユーザーのセットにすることもできます)
  • だけ実行modprobermmod
  • cmdパラメータでのみpsmouse
  • sudoパスワードの有無にかかわらず。

これは"/etc/sudoers.d"が一般的に使用されています。だからここに...(単一のホスト構成を仮定し、見つかったファイルがソートされた語彙順に解析されることを/etc/sudoers.d覚えています。)sudo

  • その行を必ず/etc/sudoers含めてください。#include /etc/sudoers.d
  • /etc/sudoers.d/00_aliases私は通常、ユーザー、cmd、ホスト、およびグループエイリアスを定義する個人用の基本ファイルを使用します。これにより、デフォルトのデフォルトシステム設定を含むsudo visudoTweakの使用を大幅に減らすことができるだけでなく、他のファイルでも最初に解決されるエイリアスを使用します。/etc/sudoers/etc/sudoers.d/sudo/etc/sudoers.d/00_aliases
  • /etc/sudoers.dたとえば、20_psmouseという名前のファイルをに配置します。

含まれている sudoers.d ファイルを広く使用する予定がない場合は、次のことができます。いいえ/etc/sudoers.d/00_aliases次のように一時エイリアスを作成し、埋め込みファイルに直接含めます。

User_Alias  MOUSE_TWKR = user1[, user2[, user3[, ...]]]
Cmnd_Alias  MOUSE_MOD_TWK = /usr/bin/modprobe, /usr/bin/rmmod
MOUSE_TWKR  your-host = NOPASSWD: MOUSE_MOD_TWK psmouse

真実はプリンにあるので、次のことを行う必要があります。
1)それを参照してくださいman sudoers(Archlinuxの例は2038年の1911行目から始まります!)
2)いくつかの実験を行う必要があります。たとえば、上記のルールが許可されすぎていて、cmdおよび管理対象コンテキスト内で
オプションの使用を制限したい場合は、ファイルエントリを次のように置き換えます。modprobermmod

 MOUSE_TWKR  your-host = NOPASSWD: MOUSE_MOD_TWK [!-] psmouse

...そしてパスワードを強制的に入力してください。

 MOUSE_TWKR  your-host = MOUSE_MOD_TWK [!-] psmouse

(*)「your-host」をホスト名に変更するか、ALLすべてのホストを許可に置き換えると、ホストの例になります。

おすすめ記事