sudoを使用せずにシェルスクリプトが「マウント」と「アンマウント」を実行できるようにするにはどうすればよいですか?

sudoを使用せずにシェルスクリプトが「マウント」と「アンマウント」を実行できるようにするにはどうすればよいですか?

背景:私はdmenuを使ってドライブをマウント/マウント解除するPythonとShellスクリプトを使って簡単なアプリケーションを作成しようとしています。

現在の問題は、ドライブをマウントするコマンドがシェルスクリプトファイルにあり、コマンドを実行するにはroot権限が必要であることです。

問題になる部分はまさにこうです。

mount ${DRIVE} ${DESTINATION}

私はいくつかの研究を行いましたが、「sudoなしでマウントを実行する」という質問に対するほとんどの答えは、fstabファイルを編集してディスクを手動で追加することを指しています。

ユーザーがシステムファイル/構成を編集する必要がない他の方法があるかどうか疑問に思います。または、少なくともこの設定を自動化してください。

ベストアンサー1

ユーザーが使用できる mount コマンドの可能なパラメーターを制限する方法が必要です。そうしないと、悪意のあるユーザーはシステムが実際のバージョンではなく/etc攻撃者のバージョンを使用するように何かをマウントしてシステムを簡単に制御できます。/etc/shadowその結果、攻撃者は一時的にすべてのユーザーのパスワードを攻撃者が知っているパスワードに置き換えることができるようになります。

ユーザーが固定ファイルシステムセットを固定マウントポイントセットにマウント/マウント解除する必要がある場合、またはマウントオプションを使用してそれらを追加することが効率的なソリューションになる可能性が/etc/fstabあります。userusers

ユーザーがインストールする必要があるデバイスの名前を予測できない場合、またはユーザーがアクセスできるすべての場所にインストールできる必要がある場合、問題はさらに困難です。おそらく、ユーザーがファイルシステムを固定された場所にマウントできるようにし、必要な場所にファイルが表示されるようにln -s /actual/mount/point /desired/locationシンボリックリンクを作成する方法をユーザーに教えることができますか?

おすすめ記事