次の問題があります。 Unixサーバー(CentOS 5.5)では、同じグループに属する多数のユーザーが同じファイルに(ssh経由で)アクセスできます。 1人の特定のユーザー(たとえばusera A)がファイルを編集した後、ファイルの所有者はAに変更され、グループ(G)とアクセス許可(0664)はそのまま残ります。 2番目のユーザー(B)が同じファイルを変更しようとすると、変更することは許可されません。一方、ユーザーBがファイルを変更した場合、Aは問題なくファイルを変更できます(権限を台無しにすることを除く)。
権限/グループに問題があることは理解していますが、何がわかりません。だからどんな助けもいただければ幸いです。
詳細情報の提供:
$ ls -l /path/file
-rwxrwxr-x 1 B G 42269 jan 14 10:30 file
$ getfacl /path/file
# file: file
# owner: B
# group: G
user::rwx
group::rwx
other::r-x
$ ls -ld /path
drwxrwxr-x 12 B G 4096 jan 14 10:24 .
$ getfacl /path
# file: .
# owner: B
# group: G
user::rwx
group::rwx
other::r-x
承認された回答:
Aにはディレクトリへの書き込み権限があるため、Aのエディタは新しいファイル/path/file.tmp
を書き込みます (または同様の名前)次に、新しいファイルを/path/file
に移動します 。 Aがファイルを作成したばかりなので、Aが所有しています。
Bにはディレクトリへの書き込み権限がないため、Bのエディタは既存のファイルを上書きしますが、所有権は変更されません。
(編集者がこれらのことを行う理由の背景については、ファイルを編集してそのアクセス制御リスト/ SELinuxセキュリティコンテキストを保持する方法を参照してください。)
AはグループGに属しているようですが、Bはそうではありません。これを解決する最も簡単な方法は、AとBの両方がグループGにあるか、両方がグループGにないことを確認することです。