質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Q&A

解決済

3回答

2011閲覧

Virtualbox共有ディレクトリに対して、シンボリックリンクを作りたい

wkbiz

総合スコア152

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

0グッド

1クリップ

投稿2017/11/14 15:36

編集2017/11/16 03:47

よろしくお願いします。
(環境)Virtualbox 5.2
ホスト:Windows10
ゲスト:CentOS 6.9

Virtualboxの機能を使ってゲストOSとホストOSの共有ディレクトリを作成しています。
ここで、ゲストOS内に作られる共有フォルダ(sf_SHARED)を、Webサーバのhtdocsとしてシンボリックリンクを作りたいと考えています。
どのように設定すれば実現できるのか、ご教授いただけないでしょうか。
よろしくお願いします。

私がやったことはシンボリックリンクを作り、chown、chmodで変更しました。しかしユーザー・グループ(root:vboxsf)が変更できません。
VirtualBox本体側の設定で自動マウントのチェックを外せば変更できるようになりますが、今度は共有フォルダが機能しなくなります。

言わずもがなかもしれませんが、Windows側でコーディングを行ったものをそのままゲストOS側に適用させたいのです。
いろいろネット検索してみましたが近いような説明はあったもののズバリのものがなく、こちらに質問させていただきました。

(追記)
ご回答ありがとうございます。
手隙がなくまだ確認できていませんが、確認次第、返事させていただきます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

kpluplusさん、

ユーザー・グループ・パーミッションの設定ですが、vboxsfのmountのオプションで設定できます。
また、/etc/rc.local に記述することで、起動時にマウントさせることができます。

  • VirtualBoxの仮想機の共有設定で、自動マウントにチェックを入れない。
  • 仮想機、起動後、手動で sudo mount -t vboxsf {共有フォルダ名} /マウント先フォルダ -o オプション といった感じでマウントします。

実行例

# ユーザ・グループ番号を調べる $ id uid=500(vagrant) gid=500(vagrant) groups=500(vagrant) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 # マウントを実行 $ sudo mount -t vboxsf windows_no_htdocs /opt/lampp/htdocs -o rw,uid=500,gid=500,fmode=0700,dmode=770 # 確認 $ ls -l /opt/lampp/htdocs total 41 -rwx------. 1 vagrant vagrant 3607 Feb 27 2017 applications.html -rwx------. 1 vagrant vagrant 177 Feb 27 2017 bitnami.css drwxrwx---. 1 vagrant vagrant 4096 Nov 16 01:15 dashboard -rwx------. 1 vagrant vagrant 30894 May 11 2007 favicon.ico drwxrwx---. 1 vagrant vagrant 0 Nov 16 01:15 img -rwx------. 1 vagrant vagrant 260 Jul 9 2015 index.php drwxrwx---. 1 vagrant vagrant 0 Nov 16 01:15 webalizer

/etc/rc.localの例

$ cat /etc/rc.local #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local # vboxsf mount mount -t vboxsf windows_no_htdocs /opt/lampp/htdocs -o rw,uid=500,gid=500,fmode=0700,dmode=770
  • 参考: vboxsfのマウントオプション
$ sudo mount.vboxsf -h Usage: mount.vboxsf [OPTIONS] NAME MOUNTPOINT Mount the VirtualBox shared folder NAME from the host system to MOUNTPOINT. -w mount the shared folder writable (the default) -r mount the shared folder read-only -n do not create an mtab entry -s sloppy parsing, ignore unrecognized mount options -o OPTION[,OPTION...] use the mount options specified Available mount options are: rw mount writable (the default) ro mount read only uid=UID set the default file owner user id to UID gid=GID set the default file owner group id to GID ttl=TTL set the "time to live" to TID for the dentry dmode=MODE override the mode of all directories to (octal) MODE fmode=MODE override the mode of all regular files to (octal) MODE umask=UMASK set the umask to (octal) UMASK dmask=UMASK set the umask applied to directories only fmask=UMASK set the umask applied to regular files only iocharset CHARSET use the character set CHARSET for I/O operations (default set is utf8) convertcp CHARSET convert the folder name from CHARSET to utf8 Less common used options: noexec,exec,nodev,dev,nosuid,suid

投稿2017/11/16 02:10

編集2017/11/16 02:11
mt08

総合スコア1825

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wkbiz

2017/11/16 15:46

ご連絡頂き誠に有難うございます。 試してみたところ、ご教授の方法で解決しました。 まず前提として ①VirtualBox側で共有フォルダ(自動マウントしない)設定を作っておく でした。 余談ですが永続化も外そうかと思ったのですがこれだとマウント対象にできなかったです。 ただmount するディレクトリは、mount時できめたdmode設定から後になって変更できない点が難点かなと思いました。 MVCで作ってる場合、基本的にviewは644で良いと思ってるんですが、混在さたい場合は結構難義するなと。サンドボックスとして使ってる場合、共有フォルダが山のように出来てしまうので、使いどころをよく考えないとと感じました。 ちなみに皆さん、開発時はどのような設定にされてるんでしょうかね。
guest

0

apacheユーザーをvboxsfグループに追加してやれば望みの動作になるかと思います。

その際、更新がすぐに反映されない場合は
http://d.hatena.ne.jp/keywordtouch/Vagrant
のような設定を行えば解決することが多いです

投稿2017/11/15 13:18

tanat

総合スコア18713

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wkbiz

2017/11/16 15:36

ご連絡頂き誠に有難うございます。 ご教授のお話は別サイトで拝見してまして、その方の場合それは解決にならなかったという話でしたので、後で時間あればという感じです。
guest

0

違ったアプローチになりますが

Windows側でコーディングを行ったものをそのままゲストOS側に適用させたい

 ということを実現するということが目的であれば

Virtualboxの機能を使ってゲストOSとホストOSの共有ディレクトリを作成

 よりも Linux の機能で共有させる方が手っ取り早いのでは?

Linux のフォルダを Windows からアクセスできるようにする

 上記のサイトなどを参考にされてはいかがでしょうか。

投稿2017/11/15 00:11

showkit

総合スコア1638

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wkbiz

2017/11/16 15:34

ご回答ありがとうございました。 sambaは入れたくないというのがありまして、せっかく教えて頂きましたが見送りさせて頂きました。 理由は、将来的にVagrantやAnsibleのプロビジョニングに結び付けたい=汎用的フォーマットにしたいためです。 Sambaはなにかと騒動の発端になっている印象なので、本当に必要な時だけにインストールする=汎用では利用しない方針にしたいためです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問