HFS +ドライブをマウントして権限を無視する方法


25

MacBookにUbuntuとWindowsをインストールしました。UbuntuがプライマリOSです。ただし、すべてのメディアはOSXパーティションに残ります。ルートとしてメディアプレーヤー(またはその他のもの)を起動することなく、Ubuntuから(少なくとも私のOSXユーザーのホームフォルダーに)アクセスできるようにしたいと思います。また、ときどきOSXでマシンを起動したいので、頻繁に元に戻す必要のあるものは変更したくありません(UIDの変更についてはよく読みます。しかし、使用しているOSに応じてUIDを前後に変更する必要はありません。同様に、ファイルシステムのアクセス許可を前後に変更したくありません。

また、「所有者」オプションについて何かを見ましたが、それは私が望んでいることをしていないようです。

だから私はこのようなことをしたいと思います:

sudo mount -t hfsplus -o noowner /dev/sda2/ /media/Mac

そして、rootとしてドロップインすることなく、すべてのメディア(少なくとも私のOSXユーザーのホームフォルダー内のすべてのもの)にアクセスできるようになります。(明確にするために:上記のコマンドラインエントリは、私が望んでいることをしませんが、同様のことをできるようにしたいです)。

または、UIDを変更する方が良いでしょうか?もしそうなら、どのように?


私の答えをご覧ください。マークされた回答よりもあなたの質問に正確に回答したと思います。
Catskul 14年

@Catskulいいえ、できません。この質問は2年以上前です。そのとき、私はMacBookを売りましたが、答えを検証する目的でこの問題を再現することは非常に困難です。
weberc2 14年

回答:


28

bindfs答えです。既にマウントされているファイルシステムを取得し、任意のuidでそのビューを提供します。

sudo apt-get install bindfs
mkdir ~/myUIDdiskFoo
sudo bindfs -u $(id -u) -g $(id -g) /media/diskFoo ~/myUIDdiskFoo

ただし、CPUとメモリの負荷は非常に大きくなります。それが心配なら、@ weberc2のソリューションをお勧めします。そうでなければ素晴らしい答え。
frhd

bindfsは私にとって不安定です。私はこの投稿askubuntu.com/questions/315078 / ...の代わりに応答を使用しました
-krumpelstiltskin

良い回答(投票済み)ですが、bindfsのインストールが必要です。どうしてそんなに良くないの?まあ、これは私の珍しいケースです:友人が古いMacBook(Proかどうかはわかりません)を与えて、起動していないMacOSからデータをバックアップします。最新のUbuntuバージョンを試してみましたが、運はありません(nouveauドライバーがクラッシュします。nomodesetは役に立ちません)。その後、Ubuntuバージョン9.10(ええ)で起動するリポジトリサーバーがオンラインでなくなるまで、Ubuntuバージョンに戻ります。bindfsをインストールできません。受け入れられた答えはその問題を解決します。
半蔵H

19

許可を無視する方法を見つけることができませんでしたが、UbuntuアカウントのUIDをOSXアカウントと一致するように変更することになりました。

sudo useradd -d /home/tempuser -m -s /bin/bash -G admin tempuser
sudo passwd tempuser

新しいパスワードを入力してください。ログアウトし、ユーザー名「tempuser」と前に選択したパスワードで「other」としてログインします。ターミナルを開き、次を入力します。

sudo usermod --uid 501 yourusername
sudo chown -R 501:yourusername /home/yourusername

*「yourusername」を一時的でないユーザー名に、501をMacアカウントのUIDに変更します(最初のMacアカウントは501から始まりますが、後続のユーザーは異なるUIDを持ちます)。

tempuserからログアウトし、通常のアカウントに再度ログインします(これは重要です。ユーザーを切り替えるだけではなく、悪いことが起こります)。ターミナルウィンドウを開き、次のように入力します。

sudo userdel -r tempuser

詳細については、このページをご覧ください

注意事項

  • 1人の Linuxユーザーのみがアクセスできます。このセットアップでは、複数のLinuxユーザーがHFS +ドライブ上の複数のユーザーディレクトリにアクセスすることはできません。これは、Appleがユーザーディレクトリ(および音楽などのメディアディレクトリ)を700(rwx------)にロックしているためです。
  • UIDを変更すると、ログインマネージャーはそのユーザーの一覧表示を停止します。からにUID_MINオプションを変更する必要があります。/etc/login.def1000500
  • 最後に、ユーザーUIDが変更されたため、ドライブへのアクセスが許可の混乱になります。表示するには、ユーザーのホームフォルダーの正確な場所をメモする必要があります。タブ補完とファイルマネージャーの参照は、元のAppleユーザーのホームフォルダー以外のフォルダーで問題が発生しますsudo

usermodアプローチは私のために働いた。USBドライブを使用する場合は、必ず/ media / USERNAMEを削除してください。askubuntu.com/questions/583375/...
krumpelstiltskin

ご注意点1のために、700はOS Xでのユーザディレクトリのデフォルトは確かですが、何の問題は、それが755に例えば、あなたに合わない場合は、それを変更するにはありません
fkraiem

sudoを使用してコマンドを発行し、sudoを使用してnautilusを起動すると、MacOS HD内の任意のディレクトリにアクセスできますが、uidメソッドは、ファイルに単にアクセスするだけでなく、たとえば別のマシンの共有フォルダーに転送する必要がある場合に最適ですたとえば、samba)。昇格したnautilusインスタンスはネットワークを探索できませんが、通常のnautilusインスタンスは探索できますが、MacOS HDからコピーして貼り付けることはできません。tempuserにuid 501が問題を解決してくれたので、起動していないMacOSから共有フォルダーにデータをバックアップできました。
半蔵H

16.10の場合、UID_MINを除き、追加GID_MIN=500する必要があります/etc/login.def
描画

5

HFS +ファイルシステムのLinuxカーネル実装ドキュメントには、uidすべてのファイルを「所有」できるマウントオプションがリストされています(そして、おそらく他にも便利なオプションもあります)。


私はそれをやろうとしていましたが、どのUIDを使用すべきかわかりません。私はそれがOSXの501のようなものだと読みましたが、アカウントは元のOSXユーザーではありません。どうすればこの情報を見つけることができますか?
weberc2

@ weberc2:ls -l /media/YourHFSdisk/現在のファイル/フォルダーのuidとgidを表示します。私が出くわしたHFS +ディスクは、ほとんどがuid 99とgid 99によって所有されているようです。しかし、mountコマンドでuid / gid / umask設定のさまざまな組み合わせを試しましたが、何も変わらないようでした。
mivk

これはうまくいきませんでした。ドキュメントから:「uid / gid \ n初期化されていない許可構造を持つファイルシステム上のすべてのファイルを所有するユーザー/グループを指定します。」残念ながら、私のファイルシステム上のすべてのファイルはまだ501によって所有されています(つまり、初期化されたアクセス許可構造(?)を持っています)
Colin 14

2

私はこれが古いことを知っていますが、私にとってはうまくいくと思われる別の方法があります。すべてのファイルは「root」ユーザーによって所有されていたので、私がsu rootしたことは端末とls -lah /media/Macintosh HDそこからの発行だけでした。ルートを使用することで、アクセス許可拒否エラーを回避することができました。


シンプルで不正な
SYK

1

昇格した特権でファイルマネージャーを実行することで、古いMacbookのハードドライブからファイルにアクセスできました。

gksudo thunar

次に、必要に応じてファイルをコピーします。


0

これは私が使用している一般的なオプションです完璧に動作します

mkdir /media/test
mkdir /media/diskhfs
mount /dev/sdb1 /media/test -o rw
bindfs -o perms=775,mirror=userorid --map=99/userorid:@99/@uderorid /media/test /media/diskhfs
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.