だから私はmacOS Catalina(Unix互換のBSDベース)を実行するMacBookを持っています。
新しいMacを購入しようとしていますが、写真やその他のアイテム(GPGキー、SSHキーなど)を外付けハードドライブにコピーし、新しいコンピュータが到着したら、そのファイルを同じドライブにコピーしたいと思います。コンピュータのハードドライブ。
現在のファイルは次のとおりです。
.rw-r--r-- 1 312 john staff 13 Dec 2019 gpg.keys
外部ディスクcp -a
(実際にはcp -pPR
)にコピーし、新しいMacBook(新しいコンピュータにユーザーを設定したとし、同じ名前の同じホームフォルダjohn
)にコピーすると、すべての権限が正しく機能しますjohn
。両方のユーザーは権限の観点から「互換性がありません」。
複雑すぎるかもしれませんが、ファイルに正しい権限があることを確認したいと思います。
詳しくは、権限のあるファイルをローカルコンピュータから外部FAT32ドライブにコピーしてから、新しいコンピュータのユーザーにコピーし直すとJohn
どうなりますか?Dave
cp
答え1
あなたはこれを行うことができます。両方のJohnアカウントに同じUIDが必要です。古いシステムでUIDを見つけて(/ etc / passwdの最初のフィールド、johnの後の数字)、johnと同じUIDを使用して新しいシステムを設定します。以前のコンピュータでJohnのUIDが1234であることを発見したとしましょう。 ID 1234のユーザーjohnを新しいコンピューターに追加します。
useradd -u 1234 -c "John The Ripper" john
あなたができるもう1つのことは、ファイルがルートとして新しいコンピュータに到着したときに再帰チャウンを実行して、ファイル所有者を新しいjohnに設定して、UIDと一致する必要がないようにすることです。これにより、両方のコンピュータのUIDを一致させる必要がなくなります。
chown -R john:john /path/to/drive/
どちらの方法も機能し、同じ結果を提供します。
2番目の質問について。ファイルをコピー(cp)すると、所有者はファイルをコピーしたユーザーに変更されます。ファイルを移動(mv)しても、プロパティと所有者は変更されません。したがって、あなたの質問に答えるためにファイルをdaveにコピーすると、所有者はdaveになります。ファイルを移動すると、元の所有者であるjohnが保持されます。
ファイルをルートにコピーすると、ルートはそのファイルを所有します。
UIDはファイルの所有権を制御します。何ができるかをテストしてください
useradd -u 2345 jimi
su - jimi from root
touch /tmp/jimifile
ls -lah /tmp/jimi* (jimi owns jimifile now)
userdel -r jimi
ls -lah /tmp/jimi* (will show un-owned jimifile with user id 2345)
useradd -u 2345 janis
ls -lah /tmp/jimi* (now will show janis owns jimifile)