1. ホーム
  2. リナックス

VMwareにおける共有フォルダhgfsの権限問題を解決する。

2022-03-23 16:35:03

参考 https://jarviswwong.com/ubuntu-vmware-hgfs-permissions-problem.html

質問事項 : VMwareでUbuntuがディレクトリを共有したところ、/mnt/hgfsが常にrootで、hgfsに書き込み権限がなく、多くの問題が発生することがわかりました。

ネットでいろいろと試してみてわかったのは うまくいかない

例えば

chmod 777 -R
chown username:group /mnt/hgfs
usermod -aG vboxsf username
sudo chown username:username hgfs -R
sudo chmod 777 . /hgfs

は無効です

解決方法

参照 https://jarviswwong.com/ubuntu-vmware-hgfs-permissions-problem.html の後、問題を解決しました。

1. hgfsがマウントされていた場合、まずアンマウントする。

sudo umount /mnt/hgfs

2. 次のコマンドで再マウントするだけです。

sudo /usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid=1000 -o gid=1000 -o umask=022

注意】上記コマンドのuidとgidは、ubuntuのユーザーuidで決定する必要があり、ホームディレクトリでidコマンドを入力することで問い合わせることが可能です。

UserName@UserName:~$ id
uid=1000(UserName) gid=1000(UserName) group=1000(UserName),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)
username

以下のエラーが発生した場合

UserName@UserName:/mnt$ sudo /usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid=1000 -o gid=1000 -o umask=022
fuse: mountpoint is not empty
fuse: if you are sure this is safe, use the 'nonempty' mount option


コマンドを次のように変更します。

sudo /usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs -o nonempty -o allow_other -o uid=1000 -o gid=1000 -o umask=022

動作確認

3. パーミッションの確認 ll または ls -l

UserName@UserName:/mnt$ ll
Total usage 25
drwxrwxrwx 6 UserName root 4096 Jun 9 10:17 . /
drwxr-xr-x 25 root root 4096 Jun 11 11:04 . /
drwxrwxrwx 2 UserName root 4096 Jun 9 10:17 cdr/
drwxr-xr-x 2 UserName root 4096 Jun 9 10:13 cdrom/
drwxr-xr-x 2 UserName root 4096 Jun 9 10:12 chrom/
drwxr-xr-x 1 UserName UserName 4192 Jun 18 11:11 hgfs/


変更が成功したことがわかります[hgfs以外のフォルダのオーナーはUserNameで、以前スーパーユーザー権限でchmod -hR UserName /mntで変更したが、hgfsフォルダのオーナーは変更できなかった]。

変更前と比較する

drwxrwxrwx 6 UserName root 4096 Jun 9 10:17 . /
drwxr-xr-x 25 root root 4096 Jun 11 11:04 . /
drwxrwxrwx 2 UserName root 4096 Jun 9 10:17 cdr/
drwxr-xr-x 2 UserName root 4096 Jun 9 10:13 cdrom/
drwxr-xr-x 2 UserName root 4096 Jun 9 10:12 chrom/
dr-xr-xr-x 1 root root 4192 Jun 18 10:48 hgfs/



hgfsのパーミッションが正常に変更されたことが確認できます。

再起動すると、パーミッションが元に戻っているので、ブートオートマウントを設定する必要があります。

sudo vim /etc/fstab //open the configuration file

 ブート時の自動マウントを設定する

.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,uid=1000,gid=1000,umask=022 0 0

再起動すると、起動時のパーミッションがusernameになっていることが確認されました