PTP - Umgang mit Unix
Login im Inf-RZ-Pool und Gruppenzuordnung
Jede/r mit einem gültigen INFORMATIK-Account kann sich auf den Pool-Rechner anmelden (Windows, Linux, MacOS und Solaris).
Zu dem stets eingetragenen sog. Grund-Account können weitere Projekt-Einträge hinzukommen, z.B. für das PTP ein Eintrag in das Projekt rz_4
. Letztere sind mit einem zusätzl. Unix- oder Windows-Gruppeneintrag gekoppelt.
Beim Anmelden unter Unix/Linux wird nur der Grund-Account (z.B. j2012) verwendet. In eine andere Gruppe kann nach dem Login durch das Kommando newgrp id
gewechselt werden.
Die aktuelle Gruppenzugehörigkeit ist entscheidend für den Gruppeneintrag neu erzeugter Dateien und somit für die Les-/Beschreibbarkeit der Dateien für Gruppenmitglieder, z.B. bei SVN- oder CVS-Nutzung!
Man kann allerdings auch nachträglich die Gruppen-Id einer Datei ändern mittels chgrp id file
.
Es empfiehlt sich, für die Arbeiten im PTP einen speziellen Ordner im eigenen Home-Verzeichnis anzulegen und alle persönlichen PTP-Dateien und -Ordner dort anzulegen und zu pflegen. Damit die Dateien automatisch der PTP-Gruppe rz_4
zugeordnet werden, ist z.B. folgendes zu tun:
- In die Gruppe
rz_4
wechseln:newgrp rz_4
- Erzeugen des Ordners:
mkdir PTP
- Leserechte für die Gruppe erteilen:
chmod g+r PTP
- Festlegen der Grp-ID für neue Objekte im Ordner:
chmod g+s PTP
- Zurückwechseln zur Default-Gruppe:
exit
(oder Ctrl-D)
Nun sollten alle unter dem Ordner PTP
erzeugten Dateien/Ordner automatisch der Gruppe rz_4
zugeordnet sein.
Einsatz von ACLs
Eine weitere Möglichkeit, Zugriffe auf Dateien/Verzeichnisse zu autorisieren besteht im Setzen von POSIX-access control lists (ACLs). Mit dem Zusatzkommando setfacl
kann unter Solaris ähnlich wie unter Windows kann für jede Datei explizit festgelegt werden, welcher Benutzer (bzw. welche Gruppe) mit welchen Rechten zugreifen darf. Damit ist es möglich, gezielt einzelnen Personen ein Lese- oder Schreibrecht zuzuweisen oder umgekehrt einzelnen Personen den Zugriff zu verweigern, unabhängig von der Gruppenzugehörigkeit. getfacl
zeigt die ACL-Einträge.
Beispiel:
Dem Benutzer 1meier
soll exclusiv der Lese- und Schreibzugriff auf die Datei acltest.txt
eingeräumt werden.
setfacl -m user:1meier:rw,mask:rw- acltest.txt
Die mask
wird zur Filterung der ACLs verwendet. Details siehe man setfacl
.
Das Kommando
getfacl acltest.txt
liefert die gesetzten ACL-Einträge.
Hinweis: Es gilt weiterhin die Unix-Regel, dass auf dem gesamten Pfad zur gewünschten Datei mindestens das x
-Recht gesetzt sein muss!
Achtung:
Unter dem OpenSolaris-Datei-System ZFS (u.a. im Einsatz auf rzfilesrv1
) gelten andere ACLs, die deutlich granularer wirken (ähnlich Windows NTFS-ACLs) und mittels anderer Kommando-Syntax gesetzt und ausgelesen werden!
Leider sind die Vererbungsregeln insbes. zwischen (Solaris) ZFS und (Windows) NTFS unterschiedlich geregelt.