Rechte neu setzen via Unix-Kommandos?

W

willfried

Aktives Mitglied
Thread Starter
Dabei seit
30.01.2005
Beiträge
136
Reaktionspunkte
0
Hallo Forum,
Auf meinem iMac habe ich über die Systemsteuerung 2 User mit admin Rechten eingerichtet. Trotzdem sind die Rechte für die User unterschiedlich. Mit welchen Unix-Kommandos kann ich diese unterschiedlichen Rechte beheben?

Aus meiner "alten" Unix Zeiten unter SUN erinnere ich mich noch, dass ich eine Datei namens .login bzw. .tcsh editieren mußte um dort die Einträge für Rechte etc. zu ändern. Solche Dateien habe ich auf meinem Mac nicht gefunden. Auch im NetInfo-Manager habe ich keine Möglichkeiten entdekct, die Rechtestrukturen zu ändern.

Schon mal herzlichen Dank für jede Art der Hilfe!
 
"admin"-Rechte gibt es eigentlich weder unter Unix im Allgemeinen noch Mac OS X im Speziellen.
Unter Mac OS X ist damit i. d. R. gemeint, dass der betreffende Nutzer Mitglied der Gruppe admin (und anderer Gruppen) ist.

Vielleicht schreibst Du uns mal, was Du eigentlich wirklich für ein Problem hast, denn das die Rechte unterschiedlicher Benutzer "unterschiedlich" sind, ist korrekterweise zu erwarten und auch richtig so.
Andernfalls wären nicht mehrere Benutzer erforderlich.
 
Ok, hier meine Probleme.

Für User 1 und User 2 habe ich viadie Systemsteuerung -> Benutzer -> Sicherheit die Eigenschaft "Der Benutzer darf diesen Computer verwalten" eingestellt. Somit gehören beide User zur Gruppe admin (habe ich mit NetInfo manager geprüft)

Problem 1:
Wird nun von einer CD ein Ordner in Dokumente von User 1 kopiert, so bekommt dieser Ordner die Zuordnung User 1 als "Eigentümer" mit Schreib- und Leserechten. Kopiert hingegen User 2 den Ordner von CD in seinen Dokumenteordner, so bekommt er nur Lese- und keine Schreibrechte. Jedes mal muss dann User 2 über das Info-Menü des Finders die Rechte ändern.

Problem 2:
Installierte Programme von User 1 sind im Programmverzeichnis dargestellt als User 1 und Gruppe admin, hingegen ist bei solchen Programmen, die von User 2 installiert wurden, als Gruppe User 2 eingetragen. Hier möchte ich sicherstellen, dass die Gruppe im Falle der installierten Programme von User 2 auf admin umgestellt wird.

Bekannt ist mir das chmod Kommando. Allerdings weiss ich nicht, wie ich Gruppenzuordnungen von Verzeichniseinträgen ändern kann.

Das Reparieren von Rechten habe ich via CarbonCopyCloner schon durchgeführt.
 
Ich bin derzeit auf Reisen.
Ich werde mich Mitte der Woche mit Deinem Anliegen beschäftigen, wenn ich wieder zu Hause bin.
Ich hoffe, das hat noch so lange Zeit.
 
Ein user mit Admin Rechten darf einige Dinge am Netzwerk einstellen, darf Benutzer Anlegen und Rechte veraendern. Ansonsten bleibt er ein normaler user.

Der entscheidende Unterschied zischen Admin und normalem User ist die Moeglichkeit des Admin temporaer root Rechte zu erlangen bzw. den root account frei zu schalten. Fuer die aller meisten anderen Sachen reicht es dem normalen user das Admin Passwort zu kenen, das bei Aenderungen in den System Preferences abgefragt wird.

Jeder Benutzer hat ein home Verzeichnis /Benutzer/Benutzername auf das er exklusive Rechte hat. Ein anderer user mit Admin Rechten hat keinen Zugriff auf dieses Verzeichnis - es sei denn er aendert die Rechte an einem home Verzeichnis das ihm nicht gehoert (das darf er aufgrund der Gruppe der er angehoert).

Wird ein Programm installiert das kein Admin passwort abfragt hat es die Rechte des Benutzers der es Installiert.

Cheers,
Lunde
 
lundehundt schrieb:
...
Der entscheidende Unterschied zischen Admin und normalem User ist die Moeglichkeit des Admin temporaer root Rechte zu erlangen bzw. den root account frei zu schalten. Fuer die aller meisten anderen Sachen reicht es dem normalen user das Admin Passwort zu kenen, das bei Aenderungen in den System Preferences abgefragt wird.
...
Ein "Admin"passwort alleine ist nach meinem Kenntnissstand praktisch wertlos.
Die Kenntniss von Benutzername und Kennwort eines Adminaccounts bedeutet aber letztendlich die Möglichkeit sich uneingeschränkt root-Rechte zu verschaffen.
Deine Unterscheidung kann ich daher nicht so recht nachvollziehen.
Oder habe ich jetzt was missverstanden?
 
Na ja, aber wenn beide User admin-Rechte haben, wieso sind die Rechte von Dateien im Verzeichnis "Für alle Benutzer", je nachdem von welchem User sie abgelegt werden, verschieden?
Grüße, Willfried
 
willfried schrieb:
Bekannt ist mir das chmod Kommando. Allerdings weiss ich nicht, wie ich Gruppenzuordnungen von Verzeichniseinträgen ändern kann.

sudo chown -R user:gruppe verzeichnis


dein problem resultiert übrigens daraus, dass es halt "nur" einen main admin user gibt, das wird bei dir user 1 sein und deswegen bei dem die rechte so gesetzt werden. user 2 müsste sich immer erst als admin identifizieren, damit das der fall ist...

die unix dateien die suchst, sind übrigens bei os x /etc/bashrc bzw /etc/csh.cshrc csh.login
dort kannst du dann den umod setzen...
oder halt eine entsprechende .bashrc oder .tcshrc in dem home folder der user
 
Zuletzt bearbeitet:
willfried schrieb:
Na ja, aber wenn beide User admin-Rechte haben, wieso sind die Rechte von Dateien im Verzeichnis "Für alle Benutzer", je nachdem von welchem User sie abgelegt werden, verschieden?
Grüße, Willfried
Weil beim Verzeichnis "Für alle Benutzer" (/Users/Shared) das sog. sticky-bit gesetzt ist.
Das bewirkt z. B., dass nur der Eigentümer eine Datei löschen darf, auch wenn er Schreibrecht auf den Ordner hat.
 
Um die Gruppe zu ändern:

chgrp

Die Rechte beim Kopieren hängen zudem von umask und den Rechten des Parent-Directories ab.

Leider hat Apple bei der Rechte-Implementierung in Finder sehr schlampig und nachlässig gearbeitet, so dass ich den Finder zum Kopieren von rechterelevanten Datein nicht empfehlen kann.

Auch die cp, mv, -Tools, die ja nun Metadaten beherrschen sollen (Tiger), kopieren nicht alles, oft sind dann irgendwelche Icons verschwunden (z.B. cp & JavaEmbeddedPlugin...).

Für rechterelevantes Kopieren sollte man daher immer noch ditto (bzw. ditto --rsrc in Panther, ditto --rsrcFork in Jaguar) verwenden. Ich frage mich, wie oft Apple das noch ändert.

Apple und Rechte ist wie Essig und Öl zeigt auch z.B.:

ls -lad /System/Library/Caches
drwxrwxrwx 9 root wheel 306 Apr 27 16:10 /System/Library/Caches

Nicht einmal das Sticky-Bit gesetzt, echt schwach!
 
oneOeight schrieb:
dein problem resultiert übrigens daraus, dass es halt "nur" einen main admin user gibt, das wird bei dir user 1 sein und deswegen bei dem die rechte so gesetzt werden. user 2 müsste sich immer erst als admin identifizieren, damit das der fall ist...

Ahm, das musst du mir erklären. Nach meiner Erkenntnis gibt es zwischen Admin und Admin auf OSX keinen Unterschied. Sprichst du hier von einem Admin und einem normalen User oder von 2 Admins?

Übrigens, der Thread-Opener spricht von 2 Admins.
 
willfried schrieb:
Na ja, aber wenn beide User admin-Rechte haben, wieso sind die Rechte von Dateien im Verzeichnis "Für alle Benutzer", je nachdem von welchem User sie abgelegt werden, verschieden?
Grüße, Willfried
Jeder Admin hat seine eigene uid und gid. D.h. der erste eingerichtete User (hat normalerweise Admin-Rechte) hat z.B. 501:501, der 2. User hat 502:502... usw... Früher in Jaguar war das anders, da gab es keine eigene gid für jeden einzelnen User, sondern nur Gruppe admin und staff. Hatte der User keine Admin-Rechte, wurde er also mit <user>:staff angelegt.

In deinem Beispiel hast du also 2 Admin-User, z.B. 501 und 502, beide User haben Admin-Rechte und ihre eigene Gruppe. So: 501:501 und 502:502. Benutzt du nun den 1. Admin (mit uid 501) zum Kopieren, wird in der Regel die Gruppenzugehörigkeit (unter Finder) neu vergeben, d.h. die kopierten Dateien haben nun auch 501:501. Unter dem 2. Admin entsprechend 502:502. Wie gesagt, nur beim Kopieren! Verschieben behält in der Regel die Rechte bei. Da du aber von DVD sprichst, wissen wovon wir reden. :cool:

Dementsprechend wird auch bei den Rechten verfahren, es hängt erst einmal von dem umask des Directories ab. (Da du von SUN kommst, muss ich dir das wohl nicht erklären.) Dann hängt es zusätzlich von den Rechten des Parent-Directory ab, d.h. welche Rechte hat der Ordner in die du die Dateien kopierst. Z.B. kopierst du die Dateien in einen Ordner mit 700, dann sind die Dateien auch go-rwx.

Wie gesagt, das Kopieren von rechterelevanten Dateien mit dem Finder ist nicht zu empfehlen.
 
maceis schrieb:
Ein "Admin"passwort alleine ist nach meinem Kenntnissstand praktisch wertlos.
Die Kenntniss von Benutzername und Kennwort eines Adminaccounts bedeutet aber letztendlich die Möglichkeit sich uneingeschränkt root-Rechte zu verschaffen.
Deine Unterscheidung kann ich daher nicht so recht nachvollziehen.
Oder habe ich jetzt was missverstanden?
Du hast im Prinzip schon Recht, doch ist es nicht sehr aufwändig das Admin-Passwort bei jedem Admin auszuprobieren, z.B. kann jeder normale nicht-Admin in Netinfo die Usernamen der Admins auslesen, da gibt es viele Wege.
 
cilly schrieb:
...
Leider hat Apple bei der Rechte-Implementierung in Finder sehr schlampig und nachlässig gearbeitet, so dass ich den Finder zum Kopieren von rechterelevanten Datein nicht empfehlen kann.
...
Das sehe ich nicht so.
Es wurde einfach das Ziel verfolgt, dass die Ergebnisse dem entsprechen, was die meisten User (ohne Unix-Kenntnisse) erwarten, z. B. dass der Benutzer, der gerade eine Datei in sein Home kopiert hat auch Eigentümer dieser Datei ist.
Ein weiteres Ziel war wohl, dass der Finder sich ähnlich dem Finder der klassischen Mac-Systeme verhält.
 
Herzlichen Dank für die zahlreichen Antworten und Anmerkungen!

Soweit ich das ganze verstanden habe, sollte man bei Problemen mit Rechten zunächst einmal "Rechte reparieren" versuchen, z.B. mit carbon copy cloner oder dem Festplattendienstprogramm.

Ändern der Zugehörigkeit einer Datei in Bezug auf Besitzer / Gruppe erfolgt mit dem Kommando

sudo chown -R user:gruppe verzeichnis

Relevante Dateien für das Setzen von umod und umask sind bei OS X unter

/etc/bashrc
/etc/csh.cshrc csh.login

bzw. im home folder des user

.bashrc oder
.tcshrc

zu finden.

Rechterelevantes Kopieren von Files und Dateien sollte via ditto-Kommando erfolgen, da der Finder nicht immer korrekt funktioniert.

Damit im Verzeichnis "Für alle Benutzer" (/Users/shared) jeder Files löschen darf, sollte das sticky-bit nicht gesetzt sein. Frage: Mit welchem Befehl deaktiviere ich das sticky bit?

Was mir gerade beim Durchsuchen der Files bashrc usw. aufgefallen ist: dort ist kein umod bzw. umask Eintrag zu finden. Folgende Frage dazu: In welcher Reihenfolge werden welche Systemdateien nach dem Anmelden des users von OS X abgearbeitet, und an welchen Stellen sollte sinnhaft umod / umask gesetzt werden?

In grauen Vorzeiten hatte ich mal ein gutes Buch "Unix in a Nutshell". Was wäre denn an Literatur zu Mac OS X in Bezug auf Unix und Systemnähe zu emfpehlen? Die Bücher, die ich habe (Mac OS X Panther kurz & gut, bzw. Mac OS X Panther 10.3) sind für einen Einstieg zwar ganz gut, aber z.B. in Bezug auf die Unix Kommandos nur rudimentär.

Das FreeBSD-Handbuch

http://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/book.html

scheint ganz gut zu sein, aber ich bin halt eher für ein Buch in den Händen.
 
Zuletzt bearbeitet:
willfried schrieb:
...
Ändern der Zugehörigkeit einer Datei in Bezug auf Besitzer / Gruppe erfolgt mit dem Kommando

sudo chown -R user:gruppe verzeichnis
Jain, durch die Option "-R" erfolgt das rekursiv, das heisst nicht nur für das angegeben Verzeichnis sondern für alle darunter liegenden Dateien und Verzeichnisse.

willfried schrieb:
...
Relevante Dateien für das Setzen von umod und umask sind bei OS X unter
/etc/bashrc
/etc/csh.cshrc csh.login
bzw. im home folder des user
.bashrc oder
.tcshrc
zu finden.
Das sind Dateien, die beim Starten von Shells ausgeführt werden.
Da kann alles möglich drin stehen.
Wann diese Dateien ausgeführt (bzw. nicht ausgeführt werden) kann man in den manpages der entsprechenden Shells nachlesen.
*bashrc-Dateien werden z. B. nicht von login-Shells ausgewertet.
Wenn Du aber ein Terminalfenster öffnest, startest Du i. d. R. eine login-Shell; d. h. eine ~.bashrc wird dann nicht ausgeführt.
willfried schrieb:
...
Rechterelevantes Kopieren von Files und Dateien sollte via ditto-Kommando erfolgen, da der Finder nicht immer korrekt funktioniert.
...
So kann man das nicht sagen.
Der Finder arbeitet sehr wohl immer korrekt.
Dateien, die ein Benutzer anlegt, gehören immer diesem.
Wenn Du andere Anforderungen hast, musst Du eben andere Werkzeuge benutzen (z. B auch cp -p).
 
Wobei cp -p eben auch nicht alles kopiert, was es sollte, selbst in Tiger nicht. D.h. es gehen mit cp -p bestimmte Metadaten verloren. Auch in Tiger, obwohl Apple das in der Bewerbung für Tiger anders behauptet.

In eigener Erfahrung musste ich feststellen, wie ein Icon plötzlich weg war. Es hat zwar funktioniert, aber ohne Icon?

Also bitte, wenn man wichtiges und rechterelevantes kopieren möchte: ditto

cp eignet sich hauptsächlich nur für Dateien ohne Meta-Daten, also Unix relevante Dinge.

Finder zum Kopieren nur verwenden, wenn die Rechte nicht wichtig sind. Wenn man die Rechte erhalten will, eignet sich der Finder absolut nicht.
 
cilly schrieb:
...
In eigener Erfahrung musste ich feststellen, wie ein Icon plötzlich weg war. Es hat zwar funktioniert, aber ohne Icon?
...
Diese Erfahrung kann ich nicht bestätigen.
Aber gegen ditto spricht natürlich auch nicht wirklich was, es sei denn, man möchte z. B., dass allen symlinks gefolgt wird;
das kann ditto mW nämlich nicht. Auch sonst gibt es noch ein paar Unterschiede im Detail.
In manchen Fällen mag auch CpMac das Tool der Wahl sein oder man versucht mit rsync sein Glück.

Was ich damit sagen will:
Es gibt verschiedenste Werkzeuge zum "kopieren" von Dateien. Jedes funktioniert ein wenig anders.
Man muss sich einfach dasjenige auswählen, das den aktuellen Bedürfnissen am besten gerecht wird.
 
Zurück
Oben Unten