接続されたデバイスをudev経由で自動的にマウントします

フラッシュドライブを自動的にマウントするタスクは、KDEまたはGNOMEで簡単に解決できます。これらの環境は、すべてをマウントし、ファイルマネージャーを開いてトレイアイコンを表示するように構成できます。 しかし、コンソールしか持っていない場合や、たとえばすごい場合はどうでしょうか? または、特定のDEに対処したくないが、普遍的なソリューションを探していますか?



DE- udevに依存しないソリューションがあります

次の内容の新しいファイル/etc/udev/rules.d/automount.rulesを作成します。
  ACTION == "add" KERNEL == "sd [cz] [0-9]" RUN + = "/ bin / mkdir -p / mnt /%E {ID_VENDOR} _%E {ID_MODEL} _%n"
 ACTION == "add" KERNEL == "sd [cz] [0-9]" RUN + = "/ bin / mount -o uid = 1000 / dev /%k / mnt /%E {ID_VENDOR} _%E {ID_MODEL } _%n "
 ACTION == "remove" KERNEL == "sd [cz] [0-9]" RUN + = "/ bin / rmdir / mnt /%E {ID_VENDOR} _%E {ID_MODEL} _%n" 


udevに新しいルールが登場したことを伝えます。

sudo udevadm control --reload-rules



結果

フラッシュドライブを挿入すると、ディレクトリ/ mnt / KINGMAX_Flash_Disk_1が表示され、その中にフラッシュドライブの内容が表示されます。 アンマウントして削除-ディレクトリがなくなっています。



備考

1. KERNEL ==“ sd [cz] [0-9]”-は、/ dev / sdc1 / dev / sdc2、/ dev / sdg7の形式のすべてのデバイスで動作することを意味します。 sdaとsdbの2つのハードドライブがあるため、「c」で正規表現を開始しました。

2. mount -o uid = 1000-ユーザーIDは保護され、所有者になります。 自分のものが標準ではない場合は、修正します(id -u check)。 もちろん、グループとマスクを介して行動することもできますが、私は最も簡単なソリューションを選択しました。



マウントする

次のように問題をアンマウントしました(スーパーユーザー権限が必要です)。

1. sudo visudo

2. line%ホイールを追加ALL = NOPASSWD:/ bin / umount



更新した

darkkが指摘したように、ID_VENDOR = "; / bin / rm -rf /;" -潜在的なセキュリティホール。したがって、可視性を犠牲にして安全にプレイすることをお勧めします。
  ACTION == "add" KERNEL == "sd [cz] [0-9]" RUN + = "/ bin / mkdir -p / mnt /%k"
 ACTION == "add" KERNEL == "sd [cz] [0-9]" RUN + = "/ bin / mount -o uid = 1000 / dev /%k / mnt /%k"
 ACTION == "remove" KERNEL == "sd [cz] [0-9]" RUN + = "/ bin / rmdir / mnt /%k" 







All Articles