modprobe -r psmouse
root権限なしでユーザーが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人のユーザーまたはユーザーのセットにすることもできます)
- だけ実行
modprobe
しrmmod
、 - cmdパラメータでのみ
psmouse
、 - sudoパスワードの有無にかかわらず。
これは"/etc/sudoers.d"が一般的に使用されています。だからここに...(単一のホスト構成を仮定し、見つかったファイルがソートされた語彙順に解析されることを/etc/sudoers.d
覚えています。)sudo
- その行を必ず
/etc/sudoers
含めてください。#include /etc/sudoers.d
/etc/sudoers.d/00_aliases
私は通常、ユーザー、cmd、ホスト、およびグループエイリアスを定義する個人用の基本ファイルを使用します。これにより、デフォルトのデフォルトシステム設定を含むsudo visudo
Tweakの使用を大幅に減らすことができるだけでなく、他のファイルでも最初に解決されるエイリアスを使用します。/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および管理対象コンテキスト内で
オプションの使用を制限したい場合は、ファイルエントリを次のように置き換えます。modprobe
rmmod
MOUSE_TWKR your-host = NOPASSWD: MOUSE_MOD_TWK [!-] psmouse
...そしてパスワードを強制的に入力してください。
MOUSE_TWKR your-host = MOUSE_MOD_TWK [!-] psmouse
(*)「your-host」をホスト名に変更するか、ALL
すべてのホストを許可に置き換えると、ホストの例になります。