web-dev-qa-db-ja.com

Virtual Box VMで実行されているUbuntuとディレクトリを正しい権限で共有する正しい方法は何ですか?

VirtualBoxで、OS XホストとUbuntuゲストの間でディレクトリを共有する最良の方法は何ですか?

  • ホスト:Mac OS X 10.7.3
  • ゲスト:Ubuntu 12.04
  • ゲストには、Access = FullおよびAuto-Mount = Yesを使用してVirtualBox設定を介してマウントされた共有ディレクトリがあります。

このセットアップの問題を以下に示します。共有ディレクトリでは、アクセス許可をまったく変更できません(アクセス許可拒否エラーではありませんが、有効になりません)。

Ubuntu 12.04(ゲスト):

% ls -l
total 0
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 1
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 10
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 2
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 3
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 4
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 5
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 6
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 7
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 8
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 9

Mac OS X 10.7.3(ホスト):

$ ls -l
total 0
-rw-r--r--  1 <my-mac-user>  staff  0 Apr 17 21:56 1
-rw-r--r--  1 <my-mac-user>  staff  0 Apr 17 21:56 10
-rw-r--r--  1 <my-mac-user>  staff  0 Apr 17 21:56 2
-rw-r--r--  1 <my-mac-user>  staff  0 Apr 17 21:56 3
-rw-r--r--  1 <my-mac-user>  staff  0 Apr 17 21:56 4
-rw-r--r--  1 <my-mac-user>  staff  0 Apr 17 21:56 5
-rw-r--r--  1 <my-mac-user>  staff  0 Apr 17 21:56 6
-rw-r--r--  1 <my-mac-user>  staff  0 Apr 17 21:56 7
-rw-r--r--  1 <my-mac-user>  staff  0 Apr 17 21:56 8
-rw-r--r--  1 <my-mac-user>  staff  0 Apr 17 21:56 9

ゲストでchmodしても、何も変わりません:

% chmod +x 1 | ls -l 1 # guest
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 1

ホストでchmodを実行すると、ホストでは変更されますが、ゲストでは変更されません。

$ chmod +x 1 | ls -l 1 # Host
-rwxrwx--x  1 <my-mac-user>  staff  0 Apr 17 21:56 1

% ls -l 1 # guest
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 1
23
jmdeldin

私はそれを理解しました!

再現するには:

  1. VMをシャットダウンし、VBoxの設定に共有フォルダーを追加します(永続=はい、自動マウント=いいえ)
  2. VMを起動します
  3. ターミナルから、通常のユーザーとしてumask && idを実行して、次のようなものを取得します。

    002 # this is your umask
    uid=1000(luser) gid=1000(luser) groups=1000(luser),4(adm),24(cdrom),27(Sudo),30(dip),46(plugdev),109(lpadmin),124(sambashare),125(vboxsf)
    
  4. Sudo mkdir -p /media/sf_src # src is the shared directory

srcディレクトリをテストとしてマウントするには:

Sudo mount.vboxsf -o umask=002,gid=1000,uid=1000 src /media/sf_src 
                           |   |        |        |   |-> where to mount
                           |   |        |        |       the file
                           |   |        |        |-> name of the shared dir
                           |   |        |            (in VBox settings)
                           |   |        |
                           \   |        /
                        from the `id` command

ログイン時に自動的にマウントするには、/etc/fstabを編集して次を追加します。

src /media/sf_src vboxsf umask=002,gid=1000,uid=1000
22
jmdeldin

問題-OSX共有ドライブにアクセスするvbox/ubuntuの許可の問題

joe_public@joe_public-ubuntu-VirtualBox:/$ ls /media/sf_shared
ls: cannot open directory /media/sf_shared: Permission denied

目標は、Mac環境とUbuntu環境の間でディレクトリを共有する簡単な方法です。残念ながら、これまで見てきた例は、実際に必要なものよりも少し複雑であるように思われ、解決する必要のある実際の問題を実際には説明していません。ここでは、これらの問題の両方を処理しようとします。

ここでの環境は、OSX 10.9.5を実行しているMacで、Virtual Box 4.3.16がゲスト拡張機能がインストールされたUbuntu-14.04.1を実行しています。 2014年9月のもの。

ここでの問題はすべて、MacとUbuntuのディレクトリのuidが一致する必要があると思います—ユーザーとグループに割り当てられるデフォルトのgidはOSXとUbuntuで異なります、そしてそれが問題のあるところです。

ファイルにアクセスするには、ファイルを所有するか、ファイルを所有するグループのメンバーである必要があります。また、アクセスは実際にはグループ名ではなくグループのID番号に基づいているため、ユーザーが属する両側に共通のグループ番号を作成するだけです。

それがまさに以下のソリューションが行うことです。書かれている内容の長さに誤解しないでください。実際は非常に簡単です。何が起こっているのか、たくさんの例があります。

ここでOSXVBOXコンソール(macおよびvirtual-box/ubuntu)を切り替えますこのドキュメント内—どのウィンドウにいるのかを確認してください。

最後の注意:以下に示すソリューションは、OSX環境とUbuntu環境の間で共通のグループIDを確立することに基づいているため、ファイルのアクセス許可が機能します。他の、より現代的なソリューションがあるかもしれません。これは本当にシンプルで理解しやすいものであり、基本的な素朴なインストールで実行されます。

OSX:—————

これは、10.9.5 Macの新鮮な状態で行われたものであり、企業ネットワークに接続されておらず、ストックソフトウェア以外には何も実行されていないことに注意してください。これは簡単です。

Macでデフォルトのインストールを行ったとき、joe_publicは管理ユーザーであり、彼のuidは501に設定されていました。

Joes-MacBook-Pro:/ joe_public$ id
uid=501(joe_public) gid=20(staff) groups=20(staff),999(vboxsf),401(com.Apple.sharepoint.group.1),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),501(access_bpf),33(_appstore),100(_lpoperator),204(_developer),398(com.Apple.access_screensharing),399(com.Apple.access_ssh)

uid501であることに注意してください—これはOSXのデフォルトの最初のアカウントIDです—特別なものはありません

Mac側で共有したいいくつかのディレクトリを作成しました—バックアップの理由でそれらを自分のユーザーディレクトリの下に置いていないことに注意してください。

Joes-MacBook-Pro:/ joe_public$ mkdir /vdisk
Joes-MacBook-Pro:/ joe_public$ mkdir /vdisk/shared
Joes-MacBook-Pro:/ joe_public$ mkdir /vdisk/public 
Joes-MacBook-Pro:/ joe_public$ mkdir /vdisk/images

Joes-MacBook-Pro:vdisk joe_public$ ls -al
total 0
drwxr-xr-x   5 joe_public  admin   170 Oct  8 01:08 .
drwxrwxr-t  36 root        admin  1292 Oct  6 02:26 ..
drwxrwxrwx   2 joe_public  admin    68 Oct  6 01:08 images
drwxr-xr-x   3 joe_public  admin   102 Oct  8 01:07 public
drwxrwxrwx   4 joe_public  admin   136 Oct  8 00:45 shared

VBOX:——————

シンプルなデフォルトの仮想ボックスとubuntuのインストール-繰り返しますが、joe_publicはubuntuのインストール時に作成されたデフォルトの管理者です。

OSXとUbuntuの間の名前空間は完全に異なることに再度注意してください。ここでは、2つの名前の間にまったく関係はありません。

joe_public@joe_public-ubuntu-VirtualBox:/media/sf_shared$ id
uid=1000(joe_public) gid=1000(joe_public)   groups=1000(joe_public),4(adm),24(cdrom),27(Sudo),30(dip),46(plugdev),108(lpadmin),124(sambashare)

Virtual Boxの設定->共有フォルダーguiを使用して、3つのマウントポイントを作成しました。

Name      Path              Auto-mount  Access
images    /vdisk/images     Yes         Full
public    /vdisk/pubic      Yes         Read-only
shared    /vdisk/shared     Yes         Full

注:これらすべてのマウントポイントを起動するには、実際にセッションを再起動する必要がありました。

joe_public@joe_public-ubuntu-VirtualBox:~$ mount | grep vboxsf
shared on /media/sf_shared type vboxsf (gid=999,rw)
public on /media/sf_public type vboxsf (gid=999,rw)
images on /media/sf_images type vboxsf (gid=999,rw)

これらのgidは999であることに注意してください。これはvboxsfグループです。

joe_public@joe_public-ubuntu-VirtualBox:~$ grep 999 /etc/group
vboxsf:x:999

これは、Virtual Boxバージョン4.3.16によって自動的に割り当てられました。 vboxのドキュメントには、コマンドラインから手動でパスをマウントする場合にこれを変更する方法が示されていますが、それを覚えている人はいます-単にGUIが強制するデフォルトを使用してください。

しかし、それは機能しません(この時点で予想されます-それが私たちが解決しようとしているものです)

joe_public@joe_public-ubuntu-VirtualBox:/$ ls /media/sf_shared
ls: cannot open directory /media/sf_shared: Permission denied

この時点でjoe_publicはそのvboxsfグループのメンバーではないことに注意してください。これは修正するまで問題になります。参考:これらは、作成時にアカウントに割り当てられるデフォルトのグループです。

joe_public@joe_public-ubuntu-VirtualBox:/media$ grep joe_public /etc/group
adm:x:4:syslog,joe_public
cdrom:x:24:joe_public
Sudo:x:27:joe_public
dip:x:30:joe_public
plugdev:x:46:joe_public
lpadmin:x:108:joe_public
joe_public:x:1000:
sambashare:x:124:joe_public

そのため、この時点で持っているもの(まだ修正するために何もしていません)

•   On mac,   joe_public gid is 501
•   On linux, joe_public gid is 1000
•   On linux, vboxfs gid is 999
•   On mac,   vboxsf does not exist

ユーザーのgidを変更したくないjoe_public、既にインストールされているシステムのロバの痛みであり、他のユーザーにとっては解決しない。最も簡単な解決策は、Mac側で一致するグループID(vboxsf)を作成し、joe_publicがメンバーであることを確認することです両側に。

したがって、まだvbox/ubuntuで、joe_publicを999vboxsfグループのメンバーにします

joe_public@joe_public-ubuntu-VirtualBox:/$ Sudo usermod -a -G vboxsf joe_public
joe_public@joe_public-ubuntu-VirtualBox:/$ grep 999 /etc/group
vboxsf:x:999:joe_public

私は自分のアカウントからログアウトし、これを行った後に再びここに戻ったと思います。

OSX:—————

次に、Macでvboxsfグループを作成する必要があります。ここで名前が実際に違いを生むとは思いません。重要なのは999グループIDです。ホストとVMオペレーティングシステムでは、ディレクトリシステムの名前空間(およびユーザー名)が異なることに注意してください。しかし、人生を正気にするために、私たちは皆、それをvboxsfと呼びます。 joe_publicが両側でユーザー名として使用される理由と同じ理由。

OSXには、Linuxのような単純なグループの追加コマンドはありません。したがって、dsclコマンドを使用して複数の手順でこれを行います。詳細については、mac osのドキュメントを参照してください。 vboxsfグループを作成し、ここでそのグループにjoe_publicを追加することに注意してください。

Sudo dscl . -create /Groups/vboxsf
Sudo dscl . -create /Groups/vboxsf name vboxsf
Sudo dscl . -create /Groups/vboxsf passwd "*”
Sudo dscl . -create /Groups/vboxsf gid 999
Sudo dscl . -create /Groups/vboxsf GroupMembership joe_public

したがって、この時点で、

•   On mac, joe_public gid is 501
•   On linux, joe_public gid is 1000
•   On linux, vboxfs gid is 999
•   On mac, vboxsf gid is 999
•   On linux, joe_public is member of vboxsf 
•   On mac, joe_public is member of vboxsf

ここでの証拠は、それが機能するかどうかです。それが次のステップです

VBOX:——————

ディレクトリにcdしてファイルをタッチします

joe_public@joe_public-ubuntu-VirtualBox:/$ cd /media/sf_shared
joe_public@joe_public-ubuntu-VirtualBox:/media/sf_shared$ touch foo

ファイルが正常に作成されたことを確認します。

joe_public@joe_public-ubuntu-VirtualBox:/media/sf_shared$ ls -al
total 4
drwxrwx--- 1 root vboxsf  102 Oct  8 00:44 .
drwxr-xr-x 5 root root   4096 Oct  8 00:30 ..
-rwxrwx--- 1 root vboxsf    0 Oct  8 00:44 foo

OSX:—————

Joes-MacBook-Pro:shared joe_public$ cd /vdisk/shared
Joes-MacBook-Pro:shared joe_public$ ls -al
total 0
drwxrwxrwx  3 joe_public  vboxsf  102 Oct  8 00:44 .
drwxr-xr-x  6 joe_public  admin   204 Oct  8 00:17 ..
-rw-r--r--  1 joe_public  vboxsf    0 Oct  8 00:44 foo

Joes-MacBook-Pro:shared joe_public$ touch bar
Joes-MacBook-Pro:shared joe_public$ ls -al
total 0
drwxrwxrwx  4 joe_public  vboxsf  136 Oct  8 00:45 .
drwxr-xr-x  6 joe_public  admin   204 Oct  8 00:17 ..
-rw-r--r--  1 joe_public  vboxsf    0 Oct  8 00:45 bar

VBOX:——————

joe_public@joe_public-ubuntu-VirtualBox:/media/sf_shared$ ls -al
total 4
drwxrwx--- 1 root vboxsf  136 Oct  8 00:45 .
drwxr-xr-x 5 root root   4096 Oct  8 00:30 ..
-rwxrwx--- 1 root vboxsf    0 Oct  8 00:45 bar
-rwxrwx--- 1 root vboxsf    0 Oct  8 00:44 foo

すべて正常に動作しているようです。

VBOX:——————最終検証

ここで確認しているのは、このすべてがvboxsfグループのメンバーであるユーザーjoe_publicに依存していることです。最も簡単な方法は、グループからjoe_publicを単に削除することです

ユーザーjoe_publicをグループvboxsfから削除しています

joe_public@joe_public-ubuntu-VirtualBox:~$ Sudo gpasswd -d joe_public vboxsf
log out/in ubuntu

ディレクトリにアクセスできるかどうかを確認します。アクセスできません。これは、グループ許可の問題であることを証明しています。

joe_public@joe_public-ubuntu-VirtualBox:/$ ls /media/sf_shared
ls: cannot open directory /media/sf_shared: Permission denied

ユーザーをvboxsfに追加し直します

joe_public@joe_public-ubuntu-VirtualBox:/$ Sudo usermod -a -G vboxsf joe_public
log out/in ubuntu

再び動作します!

joe_public@joe_public-ubuntu-VirtualBox:~$ ls -al /media/sf_shared
total 4
drwxrwx--- 1 root vboxsf  170 Oct  8 01:48 .
drwxr-xr-x 6 root root   4096 Oct  8 01:25 ..
-rwxrwx--- 1 root vboxsf    0 Oct  8 00:45 bar
-rwxrwx--- 1 root vboxsf    0 Oct  8 00:44 foo

VBOX:-もう1つの問題-vboxのシンボリックリンク-------

/ media/sf_sharedにアクセスすると、共有ディレクトリのシンボリックリンクが機能しないことがわかります。これは、共有ドライブで完全なLinux開発環境をセットアップしようとする場合、非常に大きな問題です。

joe_public@joe_public-ubuntu-VirtualBox:/media$ cd sf_images
joe_public@joe_public-ubuntu-VirtualBox:/media/sf_images$ ls
joe_public@joe_public-ubuntu-VirtualBox:/media/sf_images$ mkdir test
joe_public@joe_public-ubuntu-VirtualBox:/media/sf_images$ ln -s test test2
ln: failed to create symbolic link ‘test2’: Read-only file system

既定では、シンボリックリンクは仮想ボックス共有でサポートされていません。説明については、以下を参照してください。基本的に私が理解しているように、シンボリックリンクは、4.1.8時間枠(2011)でサポートを無効にすることでVirtual Boxで「修正」されたセキュリティホールです。ここで4.3.16を実行しています...

https://www.virtualbox.org/ticket/10085

http://ahtik.com/blog/fixing-your-virtualbox-shared-folder-symlink-error/

幸いなことに、ホストのVBoxManageコマンドを使用して、再度有効にするバックドアがあります。いつものように、ここに開いているかもしれないセキュリティホールを理解してください。私はスタンドアロンの開発マシンにいるので、これは問題ではないようです。

OSX:------------

Joes-MacBook-Pro:shared pbradstr$ VBoxManage setextradata Ubuntu VBoxInternal2/SharedFoldersEnableSymlinksCreate/shared 1   

注:Ubuntuは私のvmの名前であり、sharedは共有ディレクトリ名です。

次のようにvm名を取得できます。

Joes-MacBook-Pro:shared pbradstr$ VBoxManage list vms
"Ubuntu" {8461045a-1cee-4d44-8148-05920a47cee0}
Joes-MacBook-Pro:shared pbradstr$

そして、Virtual Box GUIを介した共有フォルダー名、または

Joes-MacBook-Pro:shared pbradstr$ VBoxManage showvminfo Ubuntu | grep -A 5 "Shared folders"
Shared folders:  

Name: 'shared', Host path: '/vdisk/shared' (machine mapping), writable
Name: 'public', Host path: '/vdisk/public' (machine mapping), readonly
Name: 'images', Host path: '/vdisk/images' (machine mapping), writable

ここで仮想ボックスシステム全体を再起動しましたが、必要な最小要件はわかりませんでした。

とにかく、これをテストするには、vboxウィンドウに戻ります

VBOX:---------

joe_public@joe_public-ubuntu-VirtualBox:/media/sf_images$ ln -s test test2

エラーなし-確認する

joe_public@joe_public-ubuntu-VirtualBox:/media/sf_shared$ ls -ald test*
drwxrwx--- 1 root vboxsf 102 Oct  8 11:33 test
lrwxrwx--- 1 root vboxsf   4 Oct  8 13:10 test2 -> test

OSX:----------

そして、Mac側に戻ります-それがすべて動作することを証明するためだけに

Joes-MacBook-Pro:shared pbradstr$ ln -s test test3
Joes-MacBook-Pro:shared pbradstr$ ls -ald test*
drwxr-xr-x  4 joe_public  admin  136 Oct  8 13:20 test
lrwxr-xr-x  1 joe_public  admin    4 Oct  8 13:10 test2 -> test
lrwxr-xr-x  1 joe_public  admin    4 Oct  8 13:21 test3 -> test

OSXホストとUbuntu仮想ボックスクライアントでのみこれをテストしたことに注意してください。上記の参照は、Windowsベースのホストの実行に問題がある可能性を示しているようです。

学生のための左の運動———————

上記の方法の利点は、ネットワークアクセスなしでスタンドアロンのマシンで実行できることです。しかし、これについて考えると、この名前とIDの問題は、異種コンピューティング環境間で共通の問題にならなければなりません。

その問題の解決策が利用可能な場合、他にどのような解決策が利用可能ですか? — Active Directory(Microsoft製品)などがこれを解決できる可能性があります。これらのソリューションのコレクションを取得し、さまざまな機能とトレードオフを比較することは興味深いでしょう。

4
pbradstr

VirtualBox v4.0以降、これらの権限の問題は簡単に解決できます! mkdirmountchmodumaskなどを心配する必要はありません。自動マウントされた共有フォルダー(/mediaにプレフィックスsf_が表示される)にアクセスするにはデフォルトでは)、必要な作業は1つだけです:Sudo usermod -a -G vboxsf [username]を介してvboxsfグループにユーザー名を追加します。

便宜上、homeフォルダー(ln -s /media/sf_Stuff ~/Stuffなど)内の共有フォルダーへのシンボリックリンクを作成することもできます。

ソース: http://www.virtualbox.org/manual/ch04.html#sf_mount_auto

3
theDrake

私にとって必要なことは、次のとおりです。

Sudo adduser [username] vboxsf

共有フォルダにアクセスするにはこれで十分でした。フォルダーにはvboxsfのグループがあり、ユーザーはそのグループにのみアクセスしてアクセスする必要があります。より厳密なアクセスまたはより制御可能なアクセスを設定する必要がある場合は、正しいユーザーIDを使用して手動でマウントする手順を実行する必要があります。

私にとってfstabソリューションは機能せず、マシンが正しく起動しませんでした。

3
Kris Avi

Virtualbox設定で共有フォルダーを作成すると、Ubuntuは次回システムを起動するときに自動的にマウントします(デスクトップにアイコンが表示されます)。

enter image description here

ただし、rootアカウントを使用していない場合は、アクセスする権限がありません。ユーザーアカウントを「vboxsf」というユーザーグループに追加する必要があります。

Sudo usermod -G vboxsf -a $USER

その後、ログアウトして再度ログインします。これで共有フォルダにアクセスできます。

3
realhu

ホストOSmacOS
VM(ゲスト)OSbuntu Server 16.04.5 LTS
VirtualBox v5.2.18
ホストOSとゲストOSの両方に同じユーザーがいる必要があります(さらに本文では、username)。

ステージ1:インストールVirtualBox Guest Additions

1.1。 VirtualBox Guest Additionsを見つけ、

$ cd /Applications/VirtualBox.app/Contents/MacOS/
$ cp VBoxGuestAdditions.iso ~/Downloads/

1.2。 VMを起動します

1.3。右下のタスクバーのCDアイコンをクリックします

1.4。 [ディスクイメージの選択...]を選択し、VBoxGuestAdditions.isoを検索します

1.5。ゲストターミナルタイプ(ホストターミナルからSSHで接続する場合は、これを行うこともできます):

$ Sudo su
$ apt update
$ apt upgrade
$ apt-get install dkms build-essential linux-headers-generic gcc make
$ mount /dev/cdrom /mnt
$ cd /mnt
$ sh ./VBoxLinuxAdditions.run
$ reboot

ステージ2:共有フォルダーのセットアップ:

2.1。 VMでルールを作成します。

  • VMを停止します
  • Settings > Shared Foldersに移動します
  • ウィンドウの右上にあるAdd new port forwarding rule緑色のボタンをクリックします。
  • 共有するフォルダーを検索して選択します(例:/ path/to/shared/Host_folder
  • Auto-mountおよびMake Permanentオプションを選択します
  • VMを起動します

2.2。 /optに共有フォルダーをマウントするには、shared_folder_dirサブフォルダーを作成し、適切な権限を設定する必要があります。

$ Sudo mkdir -p /opt/shared_folder_dir
$ Sudo chmod ug+w -Rv /opt/shared_folder_dir
$ Sudo chown username:username -Rv /opt/shared_folder_dir

2.3。 usernamevboxsfグループ:

$ Sudo adduser username vboxsf
$ Sudo usermod -a -G vboxsf username

2.4。 VMを再起動して、変更を適用します。

$ Sudo reboot

ステージ3:Host_folder/opt/shared_folder_dirに自動マウント:

3.1。 VMの/etc/rc.localを変更します。

$ Sudo nano /etc/rc.local

exit 0のすぐ上に配置します:

# 'folder_name' = given in the shared folders configuration
# 'path/to/shared/folders' = guest path to access the shared folders from
# 'id' = prints uid/gid
# Sudo mount -t vboxsf -o uid={uid},gid={gid} {shared_folder_name} {path/to/shared/folder}
sleep 5
Sudo mount -t vboxsf -o uid=1000,gid=1000 Host_folder /opt/shared_folder_dir
exit 0
<<< EOF >>>

注:マウント操作を実行するためにsleep 5を追加しましたVirtualBox Guest Additionsが開始されました。 journalctl -bコマンドで確認できます。

3.2。 VMを再起動して、変更を適用します。

$ Sudo reboot

参照

0
Ukr

これを見つけてテストし、UbuntuとXubuntuで機能しましたが、自動マウント機能は機能しませんでした

I。ゲスト追加機能のインストール

まず、ホストシステムにVirtualBoxのゲスト追加機能をインストールする必要があります。

VitualBoxのメニューで次を選択します:デバイス->ゲスト追加機能のインストール…

ホストシステムの新しいISOをマウントします。 Ubuntuに新しいCDが表示されます(またはマウントされます)。ターミナルウィンドウでVBoxLinuxAdditions-x86.runインストールスクリプトをルートとして実行します(IntelベースのMacであるため)。

cd /media/cdrom
Sudo VBoxLinuxAdditions-x86.run

おそらく、Ubuntuを再起動するように求められます。

Guest Additionsのインストールには、画面解像度(ウィンドウサイズはシステム解像度、つまりスクロールバーなし)を採用する、マウスモードを簡単にする(マウスカーソルを離すために左のコマンドボタンを押す必要がない)などの多くの利点があります共有フォルダー。

II。共有フォルダーの作成

目標は共有フォルダーにアクセスすることです。これは、sshdやSambaを使用するよりも簡単な方法です。

VitualBoxのメニューで次を選択します:デバイス->共有フォルダー...

  • [新しい共有フォルダを追加]ボタンをクリックします。
  • フォルダパスを選択します-Macのハードドライブ上のフォルダ。/Users/ondrej/Pictures。
  • フォルダー名を選択します-Ubuntuでこの共有フォルダーを識別する名前(ホストシステムとして)。ピクチャー。
  • この共有フォルダー定義を永続化する場合は、「永続化する」を選択します。
  • OKをクリックします。
  • [OK]をクリックして、共有フォルダーのリストを閉じます。

III。共有フォルダーのマウント

作成した共有フォルダーを、ユーザーのアクセス許可を持つフォルダーにマウントします。 Ubuntuでターミナルウィンドウを開き、次のことを行います。

共有フォルダーをマウントするフォルダーを作成します。 (このためのフォルダーが既にある場合は、このステップをスキップしてください。)

mkdir DIR

例えば(/ tmp)

mkdir share

ユーザーuidを取得します。

id

結果は次のようになります。

uid=1000(ondrej)gid=1000(ondrej)groups=4(adm),20(dialout),24(cdrom),
46(plugdev),112(lpadmin),119(admin),120(sambashare),1000(ondrej)

ユーザーのuidは1000です。共有フォルダーSHARED_FOLDER_NAMEを、ルートuid USER_IDを持つユーザーの所有権を持つフォルダーMOUNTED_FOLDERにマウントします。

Sudo mount -t vboxsf -o uid=USER_ID SHARED_FOLDER_NAME MOUNTED_FOLDER

例えば.

Sudo mount -t vboxsf -o uid=1000 pictures /tmp/share

Uidパラメーターを指定すると、ユーザーの共有フォルダーへの書き込みが可能になります。マウントされたフォルダーMOUNTED_FOLDER(e.g./tmp/share)には、Macハードドライブの共有フォルダーのファイルが含まれています。共有フォルダへの書き込みも可能です。必要に応じて、仮想マシンの起動時に共有フォルダーを自動的にマウントできます。/etc/fstabファイルに次の行を追加します(ルートとして、例えばSudo vim/etc/fstab):

SHARED_FOLDER_NAME /PATH/TO/MOUNTED/FOLDER vboxsf uid=1000,gid=1000 0 0

例えば.

pictures /tmp/share vboxsf uid=1000,gid=1000 0 0

uidおよびgidの値は、idコマンドの出力で見つけることができます(詳細な例については、ステップ2を参照してください)。共有フォルダーは、仮想マシンの再起動後も使用可能になります。

ソース: http://www.valibuk.net/2009/03/accessing-mac-os-x-harddrive-from-ubuntu-in-virtualbox-via-shared-folders/

0
Jesus