ユーザーとコンピュータ間のファイルのコピーに関する非常に基本的な質問

ユーザーとコンピュータ間のファイルのコピーに関する非常に基本的な質問

だから私は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どうなりますか?Davecp

ベストアンサー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)

おすすめ記事