MACNOTES

Veröffentlicht am  10.01.08, 14:56 Uhr von  

Tutorial: Wenn es mal hakt…

Leopard Finder

Willkommen zum ersten Tutorial in diesem Jahr. Tipps und Tricks bei Schwierigkeiten sind immer beliebt, bereits das letzte Leopard Tutorial zum Thema »Probleme« hat für eine hohe Resonanz gesorgt. Solltet ihr also von dem folgenden Problem belästigt werden, könnte es sein, dass es der Vergangenheit angehört… Wie immer seid ihr herzlich eingeladen, Fragen im Macnotes Forum oder direkt in den Kommentaren zu posten.

Problem: Staff = Unbekannt (Zugriffsrechte)

Nach einem Update auf Leopard, kann es vorkommen, dass die Gruppe »Staff« als »Unbekannt« angezeigt wird. Möchte man Zugriffsrechte im Info-Fenster ändern, kann es dazu kommen, das Mac OS X einen Neustart hinlegt. »Unbekannt«Befehl + E lassen sich weitere interne und externe Laufwerke deaktivieren. Danach sollte nur noch die Systemfestplatte auf dem Desktop sichtbar sein.

sudo dscl . create /Groups/Benutzername GroupMembership Benutzername

sudo dscl . change /Groups/Benutzername RecordName Benutzername _Benutzername

Ihr müsst die erste Zeile und danach die zweite Zeile eingeben, jeweils mit sudo beginnend. Habt ihr mehrere Benutzeraccounts die davon betroffen sind, müssen diese mit den gleichen Befehlen auch auf die anderen Benutzer angewendet werden. Ganz wichtig der Unterstrich muss vor dem Benutzernamen stehen bleiben! Wer möchte, kann es direkt bei Apple auf englisch nachlesen.


Der Heimordner und andere Dateien sollten genau diese Zugriffsrechte aufweisen. Sollte anstelle von Staff Unbekannt stehen, dann habt ihr ein Problem.

Hilft die Lösung nichts. Kann man es mit diesem Script von Thinkyhead im Terminal versuchen. Das aber nur wenn wirklich alle Stricke reissen!

#!/bin/bash
#
# Leopard User Fix by Thinkyhead
#
# Fixes the broken group membership in Leopard after an upgrade
#

if [ `whoami` == "root" ]; then
echo "[ERROR] `basename $0` must be executed as an admin user (no sudo)."
exit 1
fi

GID_IS_UID=`sudo dscl . read /Users/$USER | grep PrimaryGroupID | grep "$UID"`
GID_IS_STAFF=`sudo dscl . read /Users/$USER | grep PrimaryGroupID | grep 20`

if [ -z $GID_IS_UID ]; then
echo "[ERROR] It looks like your account is already fixed!"
if [ -z "$GID_IS_STAFF" ]; then
echo "[ERROR] However, you are not a member of group 'staff' which is bad!"
fi

echo -n "Would you like to proceed anyway? (y/N):"; read PROCEED
if [ -z $REPAIR ] || [ "$PROCEED" = "n" ] || [ "$PROCEED" = "N" ]; then
exit 0
fi
fi

#
# 1. Change User's primary group to "staff" (20):
#
sudo dscl . changei /Users/$USER PrimaryGroupID 1 20

#
# 2. Make sure the user is in the "staff" group in Directory Services:
#

USER_IS_IN_STAFF=`sudo dscl . read /Groups/staff | grep GroupMembership | grep "$USER"`

if [ -z $USER_IS_IN_STAFF ]; then
sudo dscl . append /Groups/staff GroupMembership $USER
fi

#
# 3. Fix group permissions on all items in the user's home folder:
#
sudo chgrp -R staff $HOME

#
# ...or more slowly, but more accurately:
#
# sudo chgrp staff $HOME
# sudo find $HOME -group $UID -exec chgrp staff "{}" ;
#

#
# 4. Delete the group that's no longer in use:
#
sudo dscl . delete /Groups/$USER >/dev/null 2>&1

#
# 5. Repair Permissions
#

echo -n "Would you like to repair permissions? (Y/n):"; read REPAIR
if [ -z $REPAIR ] || [ "$REPAIR" = "y" ] || [ "$REPAIR" = "Y" ]; then
sudo diskutil repairPermissions /
fi

#
# 6. Reboot for safety.
#

echo -n "Logging out is recommended, but reboot is more thorough.nWould you like to reboot? (Y/n):"; read REBOOT
if [ -z $REBOOT ] || [ "$REBOOT" = "y" ] || [ "$REBOOT" = "Y" ]; then
reboot
fi

exit 0

Somit neigt sich dieses Tutorial seinem Ende zu. Ich hoffe den meisten sei mit diesem Beitrag geholfen worden. Mehr solche Tutorials folgen in den nächsten Wochen. Vorschläge, Anregungen und Infos könnt ihr wie immer in unserem Forum posten.

 Und wie ist deine Meinung?  Schreib uns einfach!

 6 Kommentar(e) bisher

  •  Andreas Steinbacher sagte am 10. Januar 2008:

    Ich habe die beiden Kommandozeilen eingegeben und dann steht nach der Aktion nicht “staff” dort, sondern “_meinbenutzername”?!? Ist das i.O. so?

    Antworten 
  •  ac sagte am 10. Januar 2008:

    Hallo Andreas, solange da nicht mehr Unbekannt steht, geht das i.O :)

    Antworten 
  •  Johann sagte am 11. Januar 2008:

    Was ist denn eigentlich das Problem, wenn die Gruppe Staff da als Unbekannt steht? Mir ist das schon aufgefallen, aber ich hab bisher keine Probleme bemerkt, die ich damit in Verbindung gebracht habe.

    Antworten 
  •  ac sagte am 11. Januar 2008:

    Hallo Johann,

    das Problem ist, dass unter Umständen Du keine Zugriffsrechte im Netz vergeben kannst, bzw. auch Rechte für Deine Daten ändern kannst, da Mac OS X dann einen erzwungenen Neustart macht. Es kann aber auch sein, dass es bei Dir gar keine Probleme verursacht. In diesem Fall kannst Du die Gruppe auch als unbekannt lassen. Welche Auswirkungen das auf die nächsten Systemaktualisierungen hat, kann man noch nicht mit Sicherheit sagen.

    Antworten 
  •  Johann sagte am 11. Januar 2008:

    Hallo Antoni, vielen Dank für die Antwort. Dann werde ich das wohl mal korrigieren, spätestens wenn 10.5.2 rauskommt, was ja vielleicht schon nächste Woche passiert…

    Antworten 
  •  Marcus sagte am 5. Februar 2008:

    Danke für den Tipp… Was mache ich denn bei Usern die aus einem ActiveDirectory kommen? Dort habe ich als Gruppenzugehörigkeit nämlich DOMAIN\Domänen-Benutzer stehen….

    Antworten 

Kommentar verfassen

 0  Tweets und Re-Tweets
       0  Likes auf Facebook
         0  Trackbacks/Pingbacks
          Werbung
          © 2006-2013 MACNOTES.DE. Made with insanely great for all things Mac. Apple.de