web-dev-qa-db-ja.com

VirtualBox共有フォルダーを変更できないのはなぜですか?

VirtualBox共有フォルダーを再帰的にchownしようとしていますが、機能させることができません。

$ ls -lah
total 16K
drwxr-xr-x  4 root root   4.0K Aug  1  2012 .
drwxr-xr-x 23 root root   4.0K Jul 21  2012 ..
drwxrwx---  1 root vboxsf 4.0K May  4 17:02 sf_dev
drwxrwx---  1 root vboxsf 4.0K Sep  2 10:21 sf_dropbox
$ Sudo chown -R pknight:pknight sf_dropbox && ls -lah
total 16K
drwxr-xr-x  4 root root   4.0K Aug  1  2012 .
drwxr-xr-x 23 root root   4.0K Jul 21  2012 ..
drwxrwx---  1 root vboxsf 4.0K May  4 17:02 sf_dev
drwxrwx---  1 root vboxsf 4.0K Sep  2 10:21 sf_dropbox

ユーザーをvboxsfグループに追加するだけでよいことは承知しています(完全なアクセス許可があるため)。ただし、すべての共有フォルダーにすべてのユーザー/デーモンに完全なアクセス許可を与えたくありません。

私はVirtualBox 4.2.xを実行しています。Windows7をホストとして、XubuntuとDebianの両方をゲストとして使用しています。

VirtualBox共有ディレクトリの所有者/グループを変更する方法はありますか?

26
nc4pk

VirtualBox共有ファイルシステム(vboxsf)はPOSIX権限をサポートしていませんそれ自体;むしろ、それらはマウント時に「設定」されます。

$ mount
...
dropbox on /media/sf_dropbox type vboxsf (gid=1001,rw)

gidビットは、ディレクトリを所有するグループを指定します。私のシステムでは、これはたまたまvboxsfグループに対応しています。

再マウントすることで、ユーザーやグループの所有権を変更できます(rootとして実行する必要があります):

# mount -t vboxsf -o remount,gid=1000,uid=1000,rw dropbox /media/sf_dropbox

1000を目的のユーザー/グループIDに置き換え、dropboxを共有の名前(sf_の後の部分)に置き換えます。

これは、/etc/fstabを編集しない限り、再起動するたびに実行する必要があります。

30
nc4pk

これらは、私の共有フォルダーが期待どおりに動作するようにするために私が従った手順です。

共有フォルダー設定

ホスト

共有フォルダを追加

Add Shared Folder

ゲストを再起動します。

ソフトリンクを許可する

VBoxManage setextradata <guest vm> VBoxInternal2/SharedFoldersEnableSymlinksCreate/<shared folder> 1


ゲスト

ゲストの追加を更新する

デバイス->ゲストエディションのCDイメージを挿入

必要なすべてのユーザーをvboxsfグループに追加します

Sudo usermod -a -G vboxsf <username>

権限を変更する

Sudo chown -R <username>:<user group> /media/

システムを再起動します。

所有権を変更する

Sudo mount -t vboxsf -o gid=<username>,uid=<user group>,rw <share folder name> /media/sf_<share folder name>

これは、/etc/fstabの対応する行です。

data /media/sf_data vboxsf rw,nodev,relatime,iocharset=utf8,uid=982,gid=982 0 0

注:共有フォルダの所有者をランダムユーザーに変更することはできません

2
boardrider