[gelöst] ACLs - eine Empfehlung? Oder eher nicht?

Probleme mit Samba, NFS, FTP und Co.
Antworten
TomL

[gelöst] ACLs - eine Empfehlung? Oder eher nicht?

Beitrag von TomL » 12.06.2017 20:57:10

Hi @ all

Ich bin heute mal wieder zufällg an ACL erinnert worden... und mir fiel wieder ein, dass ich mir das schon immer mal anschauen wollte. Der erste Eindruck war, ist ja gar nicht kompliziert und funktioniert auf Anhieb. Klasse! Aber dann kamen die Fragen:

1. Wie muss man ACLs unter Debian überhaupt einschätzen? Ist ja wirklich nicht alles so eindeutig, wie man es gerne hätte, siehe networking<->systemd-networkd, sudoers<->polkit, rsyslog-journald, ntp-timesyncd. Wenn ich dann auf ubuntuusers Sätze wie "Zudem gibt es viele Shellbefehle, die ACL ignorieren und Probleme verursachen können" lese, frag ich mich, wie kann sich denn ein Shellbefehl über gesetzte Rechte hinwegsetzen?

2. Sind ACLs wirklich eine ernsthafte und sinnvolle Erweiterung zum bestehenden Rechtesystem auf einem Fileserver, oder ist das eher etwas "unsicheres/unausgereiftes" für experimentierfreudige Admins? Zum Beispiel empfinde ich den Kontrollverlust ein wenig als nachteilig. Auf den ersten Blick (wie mit ls -lah) sieht man nicht mehr die vorhandenen Rechte. Und wenn dann noch Shellbefehle oder gar Anwendungen selber entscheiden können/dürfen, ob sie ACLs respektieren, finde ich das ziemlich fragwürdig.

3. Mischbetrieb. Ich habe einfach mal zum Spielen ACLs auf ein leeres Verzeichnis angewandt und Dateien angelegt und editiert. Das klappt wirklich alles prima mit diesen Möglichkeiten zusätzliche Gruppen und User zu berechtigen. Nur was ist, wenn das eine Verzeichnis ACLS hat, ein anderes auf gleicher Ebene aber nicht? Hat das Konsequenzen oder greifen dann bei dem Dir ohne ACLS einfach wieder die 3 Default-Linux-Rechte "OGU"?

4. Muss man bei Verwendung der ALCs alles mit ACLs machen, also das ganze System, oder kann man das z.B. einfach nur für die Samba-Shares in /media nutzen und für das restliche System einfach die normalen Linuxrechte lassen?

5. Sind ACLs bei Debian überhaupt eine etablierte und auch wirklich genutzte Eigenschaft - irgendwo auf irgendwelchen Systemen, oder sinds eher Exoten, die das nutzen?

Habt Ihr gute Erfahrungen damit gemacht? Oder gar schlechte? Lohnt es sich, eine logische Rechte-Hierarchie/Struktur darauf aufzubauen?
Zuletzt geändert von TomL am 14.06.2017 14:38:38, insgesamt 1-mal geändert.

Benutzeravatar
smutbert
Moderator
Beiträge: 8316
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: ACLs - eine Empfehlung? Oder eher nicht?

Beitrag von smutbert » 13.06.2017 09:36:47

TomL hat geschrieben:1. […] Wenn ich dann auf ubuntuusers Sätze wie "Zudem gibt es viele Shellbefehle, die ACL ignorieren und Probleme verursachen können" lese, frag ich mich, wie kann sich denn ein Shellbefehl über gesetzte Rechte hinwegsetzen?
Darüber hinwegsetzen können sie sich nicht, aber Kopier- und Archivierprogramme könnten sie einfach weglassen und wenn man zB aus einem Backup Dateien wiederherstellt sind die ACL plötzlich futsch. Ein anderes Beispiel wären Dateimanager, die zum Teil nur die klassichen unix-Rechte anzeigen und ein unbedarfter Benutzer wundert sich dann möglicherweise warum er eine Datei lesen oder verändern kann, für die er laut Dateimanager gar keine Rechte hat.

3. 4. und 5.
„Mischbetrieb“ ist bereits der Standard, etwas anderes als Mischbetrieb gibt es meines Wissens auch gar nicht. Ein Beispiel wo es verwendet wird sind die Gerätedateien:
logind sorgt dafür, dass ein lokal angemeldeter Benutzer Zugriff auf viele Gerätedateien erhält, hier am Beispiel eines DVB-T-Sticks:

Code: Alles auswählen

$ ls -al /dev/dvb/adapter0/
insgesamt 0
drwxr-xr-x  2 root root     120 Jun 13 09:30 .
drwxr-xr-x  3 root root      60 Jun 13 09:30 ..
crw-rw----+ 1 root video 212, 0 Jun 13 09:30 demux0
crw-rw----+ 1 root video 212, 1 Jun 13 09:30 dvr0
crw-rw----+ 1 root video 212, 3 Jun 13 09:30 frontend0
crw-rw----+ 1 root video 212, 2 Jun 13 09:30 net0
$ getfacl /dev/dvb/adapter0/demux0 
getfacl: Entferne führende '/' von absoluten Pfadnamen
# file: dev/dvb/adapter0/demux0
# owner: root
# group: video
user::rw-
user:smutbert:rw-
group::rw-
mask::rw-
other::---
Vor systemd (und consolekit) wäre also die Mitgliedschaft in der Gruppe video notwendig gewesen um das Gerät zu verwenden, nun gelten nach wie vor die normalen unix-Rechte, nur wurde dem Benutzer smutbert zusätzlich das Recht verliehen die Datei zu lesen und darin zu schreiben.
Und eine dvb-Anwendung muss nichts von ACL wissen um von diesem Recht Gebrauch machen zu können.

Eigentlich glaube ich sollte damit auch 2. beantwortet sein.

TomL

Re: ACLs - eine Empfehlung? Oder eher nicht?

Beitrag von TomL » 14.06.2017 10:29:25

Moin Smutbert

Danke für Deine Erläuterung. Ich verstehe Dich nach mehrfachen Lesen und anschließendem Nachdenken darüber nun so, dass ACLs durchaus ein gut verwendbares Werkzeug zur Rechtesteuerung sind, die heute auch schon regelmäßig Anwendung finden und keine Konflikte mit dem normalen Rechtesystem auslösen. Das klingt erst mal vielversprechend. Meinen Irrtum mit den Schwächen bezgl. Nichtbeachtung durch Shell-Befehle habe ich auch erkannt. So weit, so gut... :THX:

Jetzt tu ich mich nur schwer damit, eine "praktikable Regel" für meinen Platten zu definieren, in denen ACLs sinnvoll Anwendung finden. Mir fehlt da noch irgendwie so'n Kick oder eine Anregung, um mich daran dann zu orientieren. Momentan sind die Rechte auf meinem Server tradionell gesetzt, aber das führt immer mal wieder zu Problemen, wenn Dateien nicht vom Client, sondern vom Server erstellt wurden oder wenn irgendwie root beteiligt war. Nun überlege ich, ob es eine Lösung wäre, wenn ich die öffentlichen Platten-Verzeichnisse künftig einfach pauschal thomas:thomas rwx,rw.-,--- zuweise und dann für die User passende Zugriffsrechte via ACL (Defaults eingeschlossen) setze. Es fehlt mir dafür nur das Gefühl oder die Überzeugung, dass das wirklich so richtig wäre :roll:

Hast Du dazu vielleicht noch eine Anregung oder Idee?

Benutzeravatar
smutbert
Moderator
Beiträge: 8316
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: ACLs - eine Empfehlung? Oder eher nicht?

Beitrag von smutbert » 14.06.2017 11:56:24

Nein, tut mir leid. Bis jetzt habe ich mich nicht genauer mit ACLs auseinandergesetzt, weil alles was ich wollte mit klassischen Rechten geklappt hat, die ich dann auch wesentlich übersichtlicher finde.

TomL

Re: ACLs - eine Empfehlung? Oder eher nicht?

Beitrag von TomL » 14.06.2017 14:37:45

Ich lass mir das jetzt noch mal ein paar Tage durch den Kopf gehen und entscheide dann. Dadurch, dass ACLs gleichzeitig "funktionieren" habe ich ja alle Wege offen. Danke, Du hast mir sehr geholfen.

rne
Beiträge: 30
Registriert: 29.05.2017 14:15:13
Lizenz eigener Beiträge: GNU Free Documentation License

Re: [gelöst] ACLs - eine Empfehlung? Oder eher nicht?

Beitrag von rne » 14.06.2017 15:08:07

Ich setze zur komplexen Rechteverwaltung seit mehreren Jahren auf ACLs.
Hatte bisher noch keine Probleme damit, die nicht auf PEBKAC zurück zu führen waren.
Der Nachteil der Intelligenz besteht darin, daß man ununterbrochen gezwungen ist, dazuzulernen. -- George Bernard Shaw

Trollkirsche
Beiträge: 497
Registriert: 08.08.2015 15:03:09
Wohnort: Schweiz Zürich

Re: ACLs - eine Empfehlung? Oder eher nicht?

Beitrag von Trollkirsche » 01.02.2018 01:40:46

TomL hat geschrieben: ↑ zum Beitrag ↑
14.06.2017 10:29:25
Moin Smutbert

Danke für Deine Erläuterung. Ich verstehe Dich nach mehrfachen Lesen und anschließendem Nachdenken darüber nun so, dass ACLs durchaus ein gut verwendbares Werkzeug zur Rechtesteuerung sind, die heute auch schon regelmäßig Anwendung finden und keine Konflikte mit dem normalen Rechtesystem auslösen. Das klingt erst mal vielversprechend. Meinen Irrtum mit den Schwächen bezgl. Nichtbeachtung durch Shell-Befehle habe ich auch erkannt. So weit, so gut... :THX:

Jetzt tu ich mich nur schwer damit, eine "praktikable Regel" für meinen Platten zu definieren, in denen ACLs sinnvoll Anwendung finden. Mir fehlt da noch irgendwie so'n Kick oder eine Anregung, um mich daran dann zu orientieren. Momentan sind die Rechte auf meinem Server tradionell gesetzt, aber das führt immer mal wieder zu Problemen, wenn Dateien nicht vom Client, sondern vom Server erstellt wurden oder wenn irgendwie root beteiligt war. Nun überlege ich, ob es eine Lösung wäre, wenn ich die öffentlichen Platten-Verzeichnisse künftig einfach pauschal thomas:thomas rwx,rw.-,--- zuweise und dann für die User passende Zugriffsrechte via ACL (Defaults eingeschlossen) setze. Es fehlt mir dafür nur das Gefühl oder die Überzeugung, dass das wirklich so richtig wäre :roll:

Hast Du dazu vielleicht noch eine Anregung oder Idee?
Du kannst über das SetGroup-ID Bit eines Verzeichnisses festlegen, ob eine darin neu erstellte Datei oder Verzeichnis die primäre Gruppe des Benutzers, oder die Gruppe des Verzeichnisses bekommt, in dem die Datei erstellt wird. Dadurch können auch weiterhin alle der Gruppe zugehörigen Benutzer in einem Verzeichnis die Datei bearbeiten, einsehen usw., Das erreichst du mit : chmod -R g+s nameverzeichnis/

Soweit zur Theorie...

Benutzeravatar
weshalb
Beiträge: 1265
Registriert: 16.05.2012 14:19:49

Re: [gelöst] ACLs - eine Empfehlung? Oder eher nicht?

Beitrag von weshalb » 01.02.2018 17:22:54

Bisher komme ich mit der normalen Rechteverwaltung prima klar, doch das mit ACL interessiert mich doch schon immer, falls man es mal brauchen könnte.

Was mich aber vorher interessieren würde ist, wie man die Rechte in den Backups erhalten kann. Es macht bei vielen Dateien sonst alles kaum einen Sinn.

TomL

Re: [gelöst] ACLs - eine Empfehlung? Oder eher nicht?

Beitrag von TomL » 01.02.2018 17:35:20

weshalb hat geschrieben: ↑ zum Beitrag ↑
01.02.2018 17:22:54
Bisher komme ich mit der normalen Rechteverwaltung prima klar, doch das mit ACL interessiert mich doch schon immer, falls man es mal brauchen könnte. Was mich aber vorher interessieren würde ist, wie man die Rechte in den Backups erhalten kann.
Ich habe bei meinen möglicherweise besonderen Anforderungen keine guten Erfahrungen damit gemacht. Bei mir werden Dateien durch einen quasi rechtelosen virtuellen User in einem bestimmten isolierten Verzeichnis unter seiner UID erstellt. Und damit ich als regulärer User diese Dateien dann in ein endgültiges Verzeichnis verschieben kann, hatte ich versucht das mit ACLs für das Verzeichnis zu lösen. Tja, funktioniert bestens... nur leider behält dieser unprivilegierte User seine Rechte auch im neuen Verzeichnis, wenn die Dateien kopiert werden, was bei einem normalen Copy/Move zwischen Samba-Shares nicht der Fall ist. Beim normalen Copy/Move werden die Force-Anweisungen in der smb.conf berücksichtigt und gegebenenfalls neue UIF/GID gesetzt, leider bleiben aber die ACLs bleiben davon unberührt. Ich würde ACLS heute nur noch in Share-Dirs mit quasi statisch vorhandenen Dateien oder neu erstellten und danach bleibenden Dateien verwenden, wenn mehrere User darauf zugreifen müssen. Aber das konnte ich ja auch mit force-Anweisungen in der smb.conf erreichen. Wie sich das bei NSF verhält weiss ich nicht, weil ich nur CIFS nutze.

Benutzeravatar
weshalb
Beiträge: 1265
Registriert: 16.05.2012 14:19:49

Re: [gelöst] ACLs - eine Empfehlung? Oder eher nicht?

Beitrag von weshalb » 01.02.2018 18:54:22

Danke. Ich meinte natürlich, bei vielen Dateien mit mehreren Nutzern machen die verlorenen ACL Recht keinen Sinn. Ich habe dazu das hier gefunden, kann das aber nicht testen, da ich ACL nicht einsetze.

https://linuxconfig.org/backup-permissions-in-linux

Antworten