「mount」コマンドのユーザー権限を定義するには?

「mount」コマンドのユーザー権限を定義するには?

CentOS 6.5をインストールすると、KDE(デフォルト)X Windowデスクトップ環境(つまり、すべてのKDEヘルパー機能を使用)でDVDのサイレントインストールが停止しました。 DEタスクの予期しない変更を解決するために、次のことを見てみました。

  • /etc/fstab
  • /etc/group

私は何も変わらなかった。マウントのマニュアルページを読んだ後、新しい行を追加しましたfstab

/dev/sr0   /media/dvd   iso9600   ro,users,noauto,unhide

その後、root以外のユーザー(chris)をグループに追加しましたが、まだrootにのみアクセスできます。usersmount

$ mount -a
mount: only root can do that
$ mount /dev/sr0 /media/dvd
mount: only root can do that
$ mount /dev/sr0 /media/dvd
mount: only root can do that

現在有効な唯一のコマンドは次のとおりです。

$ sudo mount /dev/sr0 /media/dvd

ユーザーにDVDのインストール権限を付与するには何が必要ですか?追加のヒント、KDEが突然DVDのインストールを停止したのはなぜですか?

答え1

$ mount -a
mount: only root can do that

このコマンドはマウント内のすべての項目を試します/etc/fstabが、すべての項目にuser/usersオプションがあるわけではないため、管理者権限を持たないユーザーにはこれはできません。

$ mount /dev/sr0 /media/dvd
mount: only root can do that

これは以下を指定します。両方インストールするデバイスそしてマウントポイントは実際には必要ありません/etc/fstab(コマンドラインでファイルシステム固有のデフォルトのマウントオプションを指定しない場合はそのオプションが想定され、ファイルシステムタイプを指定しないとファイルシステムタイプの自動検出が行われるため)。実行)。さまざまなセキュリティホールが簡単に開くのに十分強力であるため、root以外のユーザーはこの形式のコマンドを使用する権限がありませんmount


root以外のユーザーとして/mountオプションを使用してmount管理者が準備した項目をマウントする場合は、次のように指定する必要があります。/etc/fstabuserusers端末のみまたはマウントポイントのみ。これにより、mountコマンドはコマンドライン全体に欠けている部分を見つけることができ、コマンド/etc/fstabはroot以外のユーザーが特定のインストールを実行する権限を持っていることを確認します。

したがって、mountこれらのコマンドの1つそしてこれらだけ/etc/fstabOPで指定された行を使用すると、root以外のユーザーがCD / DVDをマウントできます。

mount /dev/sr0

または

mount /media/dvd

非rootユーザーがコマンドを使用している場合は、そのmountユーザーがデバイスとマウントポイントにアクセスできることを確認し、誤った場合はコマンドを拒否します。ユーザーがローカルにログインすると、ログインセッションの設定(通常はPAMモジュール形式)は通常、ユーザーにリムーバブルデバイスへのアクセスを許可します。これは、ローカルでログインしているユーザーに追加のグループメンバーシップ(udevルール構成と一致するデバイス権限)を付与するか、最新のLinuxディストリビューションでudevのタグデバイスを使用してTAG+="uaccess"ACL追加のセッション設定をトリガーすることによって実行できます。ローカルにログインするとこれらのデバイスに保存され、ログアウトすると削除されます。

非ルートユーザーがSSHセッションまたは他のリモートログインを介してリムーバブルデバイスをマウントする権限を必要とする場合、多くのディストリビューションはこの目的のために事前設定されたユーザーグループ(グループなど)を提供し cdromますplugdev


GUI環境には通常、ユーザーがリムーバブルメディアをインストールできるようにする独自のメカニズムがありますが、独自の制限があります。この記事を書いている時点では、udisksd一般的に使用されるシステムレベルのコンポーネントです。udisksctlコマンドラインツールまたはGUIファイルマネージャとリムーバブルメディアアクセスツールを使用して、システムD-Busを介して通信します。

答え2

インストール方法がシステムに影響を与えるため、あなたの質問に明確な答えがあるかどうかはわかりません。このスレッドを見つけました。

マウントにroot権限が必要なのはなぜですか?

インストールを使用してシステムへのrootアクセス権を取得する方法について言及しているため、通常rootユーザーにロックされているため、単純な問題ではないようです。ただし、一部の労力を費やさないと、「ユーザー」レベルのユーザーからインストールを実行できるベストプラクティスを実装する可能性があります。

あなたが探している答えがここにあると思います。

スーパーユーザー以外のユーザーがすべてのファイルシステムをマウントできるようにする

答え3

以下はいくつかあります::

  1. まず、動作をnoauto妨げるので取り除いてくださいmount -a

  2. 次に、「T」ビットがonに設定されていることを確認してください/media/dvd

    chmod +t /media/dvd
    

これにより、DVDディレクトリに固定ビットが設定され、誰でも自分のファイルを変更するだけでディレクトリへの書き込みと所有が可能で削除できます。

  1. また、マウントには CAP_SYS_ADMIN Linux 機能が必要です。

これについて詳しくは、次をご覧ください。

CentOS 7でユーザーに "cap_sys_admin"権限を追加する方法は?

  1. 「ユーザー」を「ユーザー」に変更

これで問題が解決します。

関連情報