web-dev-qa-db-ja.com

共有フォルダ(vbox)を別のユーザーとしてマウントする

Ubuntuが起動するたびにvbox共有フォルダーをマウントしようとしています。

そこで、/ etc/initに次のエントリを追加しました。

description     "mount vboxsf Desktop"

start on startup

task
exec mount -t vboxsf Desktop /var/www/shared

すべてのファイルが「root」によって所有されており、フォルダに書き込む権限がないことを除いて、機能しているようです(chmodもchownも機能していないようです)。

では、この共有フォルダーの下にあるすべてのファイルをwww-dataユーザー/グループが所有するようにするにはどうすればよいですか?

ありがとう


ps。:自動共有フォルダーを使用する主な理由は、GUESTwwwフォルダーのホストからファイルを作成/編集できるようにするためです。

そのためのより良いアイデアがあれば、フォルダを共有する代わりに、自由に言ってください。

6
dmmd

[同じ答え: StackOverflow ]

さて、共有フォルダに関連する別の問題が発生しているときに、このstackoverflowの質問にたどり着きました: https://stackoverflow.com/questions/6298933/shared-folder-in-virtualbox-for-Apache

それは2つの方法で私を助けました、そして私が必要としているのはそれらのuidとgidオプションであるようです。

したがって、共有フォルダーを別のユーザーとしてマウントするには、次のコマンドを実行します。

mount -t vboxsf SHARE_NAME /some/dir -o uid=48,gid=48

また、www-datagidおよびuidを確認するには)、 ただ走れ id www-data

マウントされたファイルの権限も変更する必要がある場合は、次のようにオプションに「dmode」を追加するだけです。

Sudo mount -t vboxsf SHARE_NAME -o rw,dmode=777,gid=GROUP_ID,uid=USER_ID /path/on/guest

利用可能なオプションは次のとおりです(mountのヘルプから):

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

また、システムの初期化中に実行する必要がある場合は、/ etc/init /SOMETHING.confに次のようなファイルを作成するだけです。

description     "SOME DESCRIPTION"

start on startup

task
exec mount -t vboxsf SHARE_NAME /path/on/guest -o uid=1000,gid=33
14
dmmd


ホストとゲストの間でファイルを共有したい場合は、フォルダーをハード共有する代わりに、Webサーバーを簡単に実行できます。私のコマンドでは、ホストとクライアントはUbuntu 14.04であることに注意してください。ホスト内:

mkdir /home/SomeDirectory
cd /home/SomeDirectory
python -m SimpleHTTPServer


ホストIP(10.1.0.110)がゲストにあるとすると、次のコマンドを使用してディレクトリを開きます。

xdg-open http://10.1.0.110:8000

上記のポートは8000とは異なる場合があることに注意してください。xdg-openはxdg-utilsパッケージに含まれています。以前にインストールしたことがない場合は、ゲストでこれを実行します。

Sudo apt-get install xdg-utils
0
Mohsen Abasi