sonnenblen.de - Das unabhängige Sun User Forum
Betriebssysteme => Solaris => Thema gestartet von: Tschokko am 29. Dezember 2006, 11:48:58
-
Ich habe keine Ahnung wie ich die Berechtigungen setzen soll.
Ich habe ein sog. Public Verzeichnis. In dieses Verzeichnis duerfen alle Benutzer die der Gruppe "pub"angehoeren, in allen Verzeichnissen lesen, schreiben, ausfuehren und sogar loeschen! Selbstverstaendlich duerfen Sie auch Verzeichnisse anlegen und loeschen. Alle User die nicht Mitglied der Gruppe "pub" sind, duerfen ausschliesslich lesen und ausfueren, ausser sie sind zufaellig Eigentuemer der Datei.
Ich habe demnach ein Verzeichnis pub angelegt und auch jede Menge Inhalte dort hinterlegt mit Eigentuemer "root:pub".
Im zweiten Schritt hab ich saemtlichen Verzeichnissen, die Berechtigung 775 und den Datein 664 verpasst.
Soweit so gut... jetzt die Probleme:
Legt ein User eine Datei an, so ist derren Eigentuemer z.B. "user1:users"... d.h. die Berechtigungen der Gruppe "pub" gelten nicht mehr. Abhilfe ist das SGUID Bit. Nur bin ich mir nicht ganz sicher ob das 100% in Ordnung ist.
Neben dem das die Datei Eigentuemer nicht passen werden die Dateien immer mit den Berechtigungen 755 und 644 angelegt. D.h. ich kastrierte auch trotz SGUID die Berechtigungen auf die Dateien. Einzige Loesung ist im Login Skript die "umask" anzupassen. Aber das zieht sich ja durch alle Aktionen dann durch und im Home Verzeichnis ist mir eine angepasste "umask" ganz und garnicht recht.
Tja, was waere eure Loesung fuer so ein Public Verzeichnis mit genannten Berechtigungen???
Gruss Tschokko
-
Legt ein User eine Datei an, so ist derren Eigentuemer z.B. "user1:users"... d.h. die Berechtigungen der Gruppe "pub" gelten nicht mehr. Abhilfe ist das SGUID Bit. Nur bin ich mir nicht ganz sicher ob das 100% in Ordnung ist.
Doch, was sollte daran falsch sein? Damit hättest du schon mal als Default bei neu angelegten Dateien die Gruppe "pub".
Was du damit _nicht_ bekommst, sind die korreten Zugriffsrechte für die Gruppe. Das hattest du ja auch schon beschrieben. Mit umask setzt du das immer global, eine Art umask für einen Verzeichnisbaum gibt es nicht.
Tja, was waere eure Loesung fuer so ein Public Verzeichnis mit genannten Berechtigungen???
So spontan aus dem Bauch: ein cronjob. Entweder um allen Benutzern eine freundliche Mail zu schicken, wenn sie Dateien mit falschen Zugriffsrechten dort ablegen oder regelmäßig die Rechte (mit chmod -R) richtig setzen (dabei könnte man dann auch noch so gefährliche Dinge wie setuid-Bits an Programmen löschen).
-
(Bin mir da nicht mehr sicher jetzt ob das wirklich hilft)
Geht so was eigentlich auch nicht über die secondary group?
Dh alle User bekommen als secondary group "pub" und die files sind dann alle schreibbar mit 664?
Claus
-
(Bin mir da nicht mehr sicher jetzt ob das wirklich hilft)
Geht so was eigentlich auch nicht über die secondary group?
Dh alle User bekommen als secondary group "pub" und die files sind dann alle schreibbar mit 664?
Claus
Hmm ich wurde eine Zone hierfuer definieren...
-
Hmm ich wurde eine Zone hierfuer definieren...
??? ??? ??? Was hat das mit Zonen zu tun?
-
Hmm ich wurde eine Zone hierfuer definieren...
??? ??? ??? Was hat das mit Zonen zu tun?
Ganz einfach:
Die OST-Zone neu definieren und alle die zu doof sind - Rechte fuer ein Public Verzeichnis - zu setzen,
dort einsperren. ;D ;D ;D ;D ;D ;D ;D ;D ;D
-
Hmm ich wurde eine Zone hierfuer definieren...
??? ??? ??? Was hat das mit Zonen zu tun?
Na sicher ist sicher, wenn er nicht weiss, wie er die Rechte vergeben soll.
There are 2 standard types of Solaris Zones, Global and non-Global. Global Zones
have a dual function as it is both the default Zone for the system and the Zone used for
system-wide administrative control. All processes run in the global Zone if no non-
Global Zones (referred to simply as “Zones”) are created by the global administrator.
The global Zone is the only Zone from which a non-global Zone can be configured,
installed, managed, or uninstalled. Only the global Zone is bootable from the system
hardware. Administration of the system infrastructure, such as physical devices,
routing tables, or dynamic reconfiguration (DR), is only possible in the global Zone.
Appropriately privileged processes running in the global Zone can access objects
associated with other zones.
-
Gar nicht so schlecht die Idee mit den Zones. ::)
-
Wenn ich mich nicht täusche gibt es Probleme mit NFS innerhalb einer Zone !
Zum anderen löst es nicht das Problem, das beim Erstellen von Dateien und Verzeichnissen nicht die übergeordneten Rechte übernommen werden, sondern diejenigen Rechte die mit "umask" festgelegt sind. Die Gruppe "public" zu übernehmen stellt mittels SGUID kein größeres Problem dar.
Der Vorschlag mit dem Cron Job ist nicht doof, denn mittels dem Befehl find kann ich explizit nach Dateien mit verbogenen Rechten innerhalb des Verzeichnisses suchen.
Super geil wäre natürlich wenn man ein Programm schreiben könnte was sich in das Dateisystem hängt und sobald eine Datei/Vz. geschrieben wird sofort die Rechte berichtigt.
Meine letzte Alternative die mir zwischendurch eingefallen ist, ist die Freigabe per Samba. Dort kann ich ein Verzeichnis so freigeben, das es mit bestimmten Rechten, wie auch einem definierten Owner beschrieben wird.
Ein Hoffnungsschimmer sind allerdings noch die ACLs von Solaris. Da werd ich mich demnächst einlesen.
@Manu64
So ganz nachvollziehen kann ich das nicht mit den Zones. Was global und non-global Zones sind, weiss ich auch. Ich hab auch damit schon reichlich rumgespielt, selbst ZFS hab ich bereits eingebunden. Dennoch kann ich deine Idee nicht ganz nach voll ziehen ?!?!
Gruß Tschokko
-
Kurze Suche mit Google erbrachte folgendes zu Tage
Mit dem Kommando "newgrp" kann ein Benutzer die Gruppe wechseln. Allerdings muss das Programm nach dem Login auf der Console erst ausgeführt werden.
http://www.net.uom.gr/Books/Manuals/usail/man/solaris/newgrp.1.html (http://www.net.uom.gr/Books/Manuals/usail/man/solaris/newgrp.1.html)
Schöner wäre es wenn man das vielleicht gleich beim Login hinbekommt.
-
Kurze Suche mit Google erbrachte folgendes zu Tage
Mit dem Kommando "newgrp" kann ein Benutzer die Gruppe wechseln. Allerdings muss das Programm nach dem Login auf der Console erst ausgeführt werden.
newgrp ist aus der Unix-Steinzeit, als ein Benutzer nur eine Gruppe haben konnte. Das ändert nichts an der globalen umask.
Und selbst wenn: ob ich jetzt chgrp irgendwas oder meinscript irgendwasanderes aufrufe, benutzerfreundlich und robust ist das nicht.
-
Mit dem Kommando "newgrp" kann ein Benutzer die Gruppe wechseln. Allerdings muss das Programm nach dem Login auf der Console erst ausgeführt werden.
Das ist doch keine Lösung ! Dann muss er dauern mit newgrp seine Gruppe entsprechend setzen. Ist der Benutzer im Public Verzeichnis muss er Gruppe public umstellen, ist er dann in seinem Home muss er auf Gruppe users / staff umstellen, ist er was weiss ich wo, muss er auf was weiss ich umstellen. ;) Ne ne... dieser Ansatz führt wohl auch nicht zum erhofften Ziel.
Gruß Tschokko
-
Der Vorschlag mit dem Cron Job ist nicht doof, denn mittels dem Befehl find kann ich explizit nach Dateien mit verbogenen Rechten innerhalb des Verzeichnisses suchen.
Super geil wäre natürlich wenn man ein Programm schreiben könnte was sich in das Dateisystem hängt und sobald eine Datei/Vz. geschrieben wird sofort die Rechte berichtigt.
Wenn Du ein Prog dafür schreiben möchtest, solltest Du am einfchsten dafür FAM (File Alteration Monitor) hernehmen. Dort kann ein Prog sich für bestimmte Files/Dirs registrieren und wird dann über Änderungen informiert.
Den gibts auch für Solaris und ist relativ gut dokumentiert.
http://oss.sgi.com/projects/fam/faq.html (http://oss.sgi.com/projects/fam/faq.html)
Solaris packages:
http://kepler.its.bethel.edu/~bjn/fam/ (http://kepler.its.bethel.edu/~bjn/fam/)
-
Moin Christian,
die Idee ist an sich super und ich habs auch schon ausprobiert, die API ist ja recht einfach.
Problem ist nur, das FAM ausschließlich Veränderung innerhalb eines Verzeichnisses und dessen Objekten (Dateien und Verzeichnisse) erkennt.
In meinem Anwendungsfall heisst das, bei meinem Public Verzeichnis mit mehreren tausend Unterverzeichnissen, muss ich mit FAM sämtliche Verzeichnisse belauschen, und mit jedem neu erstellten Verzeichnis einen weiteren Lauscher hinzufügen. Hmmmm... kommt damit FAM klar? Wenn ja, das wäre ja echt perfekt !!!
Gruß Tschokko
-
@Tschokko
Ähmm - versuch mal ein "chmod g+s" auf dein Pub-Verzeichnis. Alle danach darin neu erzeugten Dateien und Verzeichnisse sollten dann die Gruppe pub "miterben" (sofern der User Mitglied der Gruppe pub ist). Ein "newgrp" ist dazu nicht mehr nötig. Das sollte deine Probleme lösen.
Andreas
-
@Tschokko
Ähmm - versuch mal ein "chmod g+s" auf dein Pub-Verzeichnis. Alle danach darin neu erzeugten Dateien und Verzeichnisse sollten dann die Gruppe pub "miterben" (sofern der User Mitglied der Gruppe pub ist). Ein "newgrp" ist dazu nicht mehr nötig. Das sollte deine Probleme lösen.
Andreas
Hallo Andreas,
wenn du den Thread gelesen hättest, würdest du wissen das ich natürlich das SGUID Bit gesetzt habe, sprich chmod g+s ausgeführt habe.
Dennoch danke für deinen Tip.
Das Problem sind aber die Berechtigungen, die per Default immer auf 755 stehen. Ich brauche allerdings 775. Dafür müsste ich beim User Login die umask verändern. Dies hätte aber auch zur Folge, das sämtliche Dateien/Verzecihnisse die mit diesem Benutzerkonto angelegt werden die Berechtigung 775 hätte, was meiner Meinung nach im Home Verzeichnis ganz und garnicht erwünscht ist.
Ich denke es gibt keine Lösung dieses Problems. Einzig über eine Sambafreigabe könnte ich die Rechtevergabe nach meinen Vorstellungen steuern.
Gruß Tschokko
-
Wenn ich mich nicht täusche gibt es Probleme mit NFS innerhalb einer Zone !
Das weiss ich nicht. Ich wurde auf jeden Fall ZFS wie folgt verwenden.
Vorausgesetzt, Du verwendest Solrais 10 06/06
ZFS Filesystem koennen in 2 Varianten in Zonen benutzt werden.
-------------------------------------------------------------------
1. Variante als legacy Filesystem vom Typ zfs im rw Modus
Das Verhalten innerhalb der Zone ist wie bei dem ufs-Filesystem.
Der Administrator der Zone kann das Filesystem nicht abhaengen.
2. Variante als dataset
Dadurch kann der Administrastor der Zone weitere ZFS Filesystem anlegen, loeschen
und mit 'quota' bzw. 'reserv' Platz auf dem ZFS Filesystem verwalten.
Auch das loeschen von ZFS Filesystemen ist moeglich.
(Ausnahme ist das dataset selbst)
Gruss
Manu