web-dev-qa-db-ja.com

Sudoなしでvbox共有フォルダーをマウントすることはできません: "不明なマウントオプション` user '"

すべてのユーザーがマウント可能なVirtualBox共有フォルダーを設定しようとしているので、これは/etc/fstabに入力した行です。

# mint shared folder
mint /media/sf_mint vboxsf defaults,user,uid=1000,gid=999 0 0

ただし、次のエラーメッセージが表示されます。

juanlu@minted ~ $ mount mint
Only root can mount shared folders from the Host.
juanlu@minted ~ $ Sudo !!
Sudo mount mint
unknown mount option `user'
valid options:
  rw         mount read write (default)
  ro         mount read only
  uid       =<arg> default file owner user id
  gid       =<arg> default file owner group id
  ttl       =<arg> time to live for dentry
  iocharset =<arg> i/o charset (default utf8)
  convertcp =<arg> convert share name from given charset to utf8
  dmode     =<arg> mode of all directories
  fmode     =<arg> mode of all regular files
  umask     =<arg> umask of directories and regular files
  dmask     =<arg> umask of directories
  fmask     =<arg> umask of regular files

userオプションを削除すると、Sudoを使用せざるを得なくなりますが、少なくともマウントポイントの所有者は適切に割り当てられます。私はここで何が間違っているのですか?

これは VBox共有フォルダーをユーザーとしてマウントする と重複する可能性があることに注意してください。しかし、実際に機能するはずのオプションを試しました。

2
astrojuanlu

VirtualBoxユーザーサポートフォーラムで親切に回答 のように、vbox共有フォルダーは実際にはデバイスではありません(もしそうなら、/dev/の下にあります)およびしたがって「ユーザー」オプションとりわけ該当なし。したがって、管理者以外のユーザーが共有フォルダーを手動でマウントすることを許可することはできません。

ただし、/etc/rc.localからvboxsfを自動的にマウントし、マウントオプションをカスタマイズする可能性はまだあります。これは自動マウントに似ていますが、フォルダーに適切なマスクとアクセス許可を設定できます ここで説明 。このページはincompleteであり、利用可能なオプションのリストを一覧表示するmount manページを指していることに注意してください。ただし、実際には、一部のオプションは適用されません。上に見られるように。

1
astrojuanlu

これは、Linux用のVirtualBox Guest Additionsの一部であるプログラムファイル mount.vboxsf.c のバグのように見えますが、何も問題はないと思います。

Rootアカウントで実行されるかどうかのチェックは、プログラムの開始時、およびパラメーターが処理される前、つまりuserパラメーターが検出または処理される前にmain()ですぐに実行されます。

プロセス(またはそのフォーク)の有効なユーザーIDが指定されたユーザーアカウントに変更された後、チェックはかなり後で実行されるべきでした。

このバグをVirtualBox開発者に通知する必要があります。
適切なフォーラムは Linuxホスト上のVirtualBox (ログインが必要)のようです。

1
harrymc

通常のユーザーがファイルシステムをマウントできるようにするために、/etc/fstabuserオプションは必ずしも必要ではありません。

別のオプションは、実行中のユーザーのパスワードを要求するかどうかにかかわらず、このアクションを許可するようにSudoを構成することです。

man sudoersから:

認証とログ

Sudoersのセキュリティポリシーでは、ほとんどのユーザーがSudoを使用する前に自分自身を認証する必要があります。呼び出し元のユーザーがrootの場合、ターゲットユーザーが呼び出し元のユーザーと同じである場合、またはポリシーでユーザーまたはコマンドの認証が無効になっている場合は、パスワードは必要ありません。

Tag_Spec

[...]

NOPASSWDおよびPASSWD

デフォルトでは、Sudoは、コマンドを実行する前に、ユーザーが自分自身を認証することを要求します。この動作は、NOPASSWDタグを介して変更できます。 Runas_Specと同様に、NOPASSWDタグは、Cmnd_Spec_Listでそれに続くコマンドのデフォルトを設定します。逆に、PASSWDタグは物事を逆にするために使用できます。例えば:

ray rushmore = NOPASSWD:/ bin/kill、/ bin/ls、/ usr/bin/lprm

ユーザーrayは、自分自身を認証せずに、マシンrushmoreのrootとして/ bin/kill、/ bin/ls、および/ usr/bin/lprmを実行できます。

したがって、/etc/sudoersのこのような行により、すべてのユーザーがパスワードを入力せずに指定されたファイルシステムをマウントできるようになります。

ALL ALL = NOPASSWD: /bin/mount mint

そうすれば、Sudo mount mintは通常のユーザーとして機能するはずです。

0
Laszlo Valko