私は Ubuntu を使用して、XFS 形式のドライブから USB 経由で HFS+ 形式のドライブにデータを転送しています。問題は、何をしてもこれらのファイルが書き込み禁止になり、権限を変更できないことです。
UbuntuのデフォルトのUIDは1000ですが、Macでは501であることはわかっているので、UbuntuのUIDを501に変更しました。このガイドに記載されている通り。
権限は正しいようで、 を実行するとls -n
、UID が 501、グループが 20、権限が であることが示されますrwxrwxrwx
。これは、完璧に動作している他の USB ドライブとまったく同じです。
しかし、何らかの理由で、まだファイルを編集できません。認証するように求められますが、認証しても何も起こりません。
Finder でファイルを別のボリュームにコピーすると、書き込み保護が解除されます。これは、コピー先の USB ドライブに何か問題があるのではないかと考えています。Ubuntu が書き込みできるようにするには、HFS+ (非ジャーナリング) でフォーマットする必要がありました。
それは何か意味があるのでしょうか? Mac の Finder からボリュームにコピーされたファイルはロックされませんが、Ubuntu 経由でコピーされたファイルはロックされます。
さらにテストしてみたところ、コピーしたフォルダの 1 つのサブフォルダに、問題なく書き込める画像がいくつか含まれているのに、元のフォルダと同じレベルのビデオ ファイルがすべてロックされていることがわかりました。ビデオ ファイルと画像の所有権/グループは両方とも 501/20 でした。また、ロックされたファイルのいくつかには実際に「ロック」バッジが付いていました。ファイルのプロパティでチェックマークを削除できましたが、何も起こりませんでした。プロパティを再度確認すると、まだそこにありました。しかし、ロックされた他のビデオ ファイルには、そもそもバッジが付いていませんでした。何か本当におかしいのでしょうか??!
ちなみに、私は Snow Leopard Server を実行している別の Mac ですべてを定期的にテストしていますが、問題は同じです。
最後の更新:
下記のように ssh 経由で rsync を実行しようとし、ユーザー名、"長い名前"、および UID の両方が OSX と一致するように Ubuntu でユーザー名を変更しようとしましたが、進展はありませんでした。
この問題を解決するために 14 時間費やしました。疲れたので、もう寝ます。最後の手段は、Ubuntu ディスクのすべてを現状のままコピーし、Mac から別の USB ドライブにコピーすることです (デスクトップ間でコピーすると、問題は解決するようです)。唯一の欠点は、Ubuntu ボックスから 1.5 TB をコピーするために別のハード ドライブを購入し、ファイルのコピーにさらに 2 日間費やす必要があることです :-/
最終的解決:
ここで人々が提案したどの方法も問題を解決できなかったため、私は別の 2TB ハード ドライブを購入し、Ubuntu から HFS 形式のディスクにファイルをコピーし、2 つのドライブを Mac に接続して、HFS 形式のディスクから HFS (ジャーナリング) 形式のディスクにファイルを再度コピーしました。問題は解決しました。この問題を回避する唯一の方法は、Mac 環境でファイルをコピーすることだとわかりました。ファイルを一度コピーすると、権限の問題は解決しました。
答え1
Ubuntu は UID が 1000 未満のファイルをシステム ファイルとして扱っているのではないかと思います。
SSH 経由で rsync を使用して、root としてファイルを転送します。
rsync -avp -e ssh root@srcmachine:/path/to/src/files destination/dir
ユーザー名とグループ名が同じ場合、uid は再マップされます。--numeric-ids スイッチを使用すると、uid を変更せずに転送できます。
rsync はネットワーク経由だけでなく、ファイルシステム間でも機能します。
答え2
自分自身をファイルの所有者にします。
sudo chown -R ${LOGNAME}:${GROUPS} /path/to/copied/files