私が知る限り、Linuxでは、ファイルの所有権はファイル所有者のUIDによって異なります。
他のコンピュータのユーザーがサーバーのユーザーと同じUIDを持ち、ファイルがサーバーにコピーされた場合はどうなりますか?ファイルの所有者は誰ですか?
他のコンピュータのユーザーが次のUIDを持っている場合はどうなりますか?いいえ、同じです。サーバーのすべてのユーザーとしてログインし、ファイルをサーバーにコピーしますか?ファイルの所有者は誰ですか?
複数のユーザーとグループを作成しました。次にコピーして貼り付けます。
$ sudo adduser --gecos "" --disabled-password --no-create-home user1
$ sudo adduser --gecos "" --disabled-password --no-create-home user2
$ sudo adduser --gecos "" --disabled-password --no-create-home user3
$ sudo adduser --gecos "" --disabled-password --no-create-home user4
$ sudo addgroup userstart
$ sudo gpasswd -M user1,user2,user3,user4 userstart
$ sudo chown :userstart /home/blueray/Desktop/Permissions
$ sudo runuser -u user1 -- cp /home/blueray/Desktop/Permissions/test.html /home/blueray/Desktop/Permissions/test-copy.html
$ ls -la /home/blueray/Desktop/Permissions
total 72
drwxrwxr-x 2 blueray userstart 4096 Feb 8 11:57 .
drwxr-xr-x 3 blueray blueray 4096 Feb 8 11:55 ..
-rw-r--r-- 1 user1 user1 31017 Feb 8 11:57 test-copy.html
-rw-rw-r-- 1 blueray blueray 31017 Feb 6 05:50 test.html
ファイルをコピーしたユーザーがファイルを所有しているように見えます。いつもこんな感じですか?
ベストアンサー1
通常、権限のないユーザーは自分のUIDとは異なる所有権を持つファイルを作成できません。したがって、ファイルをコピーすると、ターゲットの新しいファイルいつもcp コマンドを実行するユーザーの UID が所有します。
これは、権限のないユーザー(ルートではない)がファイルをコピーする場合にのみ適用されます。リモートシステムからファイルをコピーするのか、ローカルシステムからファイルをコピーするのか、ファイルの元の所有者が誰であるのかは重要ではありません。
ユーザーがファイルをコピーする場合リモートマシン、ファイルはリモートシステム上のそのユーザーのUIDに属します。たとえば、foo
システムAにUID 100を持つユーザーがあり、システムBにfoo
UID 101を持つユーザーがあるとします。ユーザーがfoo
コンピューターAからコンピューターBにファイルをコピーする場合(Bコンピューターのファイルの元の所有者が誰であるか、コピー方法が何であるかは重要ではありません)、そのファイルは同じユーザーとしてBコンピューターに作成されます。ただし、On Computer B-101にはUIDがあります。繰り返しますが、これはルートとして実行されるコピーには適用されません。