Mit diesem hilfreichen Beitrag kann ich eine Standardgruppe und Gruppenberechtigungen in einem Ordner festlegen.
Ich habe Probleme beim Festlegen eines Standardbesitzers (teamlead uid 1234).
setfacl -d -m g::rwx /my/test/folder
setfacl -d -m o::rx /my/test/folder
getfacl /my/test/folder
# file: /my/test/folder
# owner: teamlead
# group: web_prod
# flags: -s-
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x
Damit:
[mary@boxen]# touch /my/test/folder/somefile
[mary@boxen]# ll /my/test/folder/somefile
-rw-rw-r--. 1 mary web_prod 0 Nov 6 08:58 somefile
Die richtige Gruppe wird also zugewiesen, aber die neue Datei besitzt den Benutzer, der die Datei erstellt. Ich möchte, dass neu erstellte Dateien teamlead haben: web_prod owner / group.
Es scheint, dass setfacl
damit auch ein Standardbenutzer festgelegt werden kann. Mit dem vorhandenen Ordner acl config (oben):
[mary@boxen]# setfacl -d -m u:1234:rwx /my/test/folder
Nun erstellen Sie eine Datei als anderer Benutzer. Ich erwarte, dass es teamlead: web_prod Besitz hat.
[mary@boxen]# touch /my/test/folder/anotherfile
[mary@boxen]# ll /my/test/folder/anotherfile
-rw-rw-r--+ 1 mary web_prod 0 Nov 6 08:58 somefile
Die neue Datei besitzt weiterhin den Eigentümer, der die Datei erstellt, nicht die UID 1234 (Teamlead).
Ist das, wonach ich suche, überhaupt möglich, oder ist die Art und Weise, wie ich das mache, falsch?
Es wird immer eine neue Datei erstellt, die dem Benutzer gehört, unter dem der Prozess zum Erstellen der Datei ausgeführt wird. (Die effektive Benutzer-ID, um genau zu sein.) Dies kann nicht geändert werden, da das Erstellen von Dateien, die anderen Benutzern gehören, eine Sicherheitslücke darstellt, ähnlich wie das Zulassen einer Datei durch Nicht-Root-Benutzer .
Was auch immer Sie versuchen, Sie müssen dies nicht tun. ACLs reichen aus, um sicherzustellen, dass alles, was später zum Lesen der Datei benötigt wird, über ausreichende Berechtigungen verfügt. Überlassen Sie die Datei dem Benutzer, der sie erstellt hat.
quelle
g+s
) ist.Unter Linux muss sgid im übergeordneten Verzeichnis vorhanden sein, um die Gruppe für Dateien zu erben. (Obwohl Sie auf BSD-Systemen kein sgid on-Verzeichnis benötigen.)
quelle
Wenn Sie möchten, dass die neuen Dateien mit der neuen Gruppe erstellt werden, müssen Sie die primäre Gruppe ändern.
Hierfür können Sie usermod und den Parameter -g verwenden
z.B
quelle