"Reset" eines Benutzers

Dieses Thema im Forum "MacOS X / Darwin" wurde erstellt von Domme., 14.02.2009.

  1. Domme.

    Domme. Mitglied

    Dabei seit:
    28.12.2008
    Beiträge:
    33
    Zustimmungen:
    0
    Hallo,
    ich habe die Aufgabe bekommen auf ca 30 Macbooks die Benutzerdaten von jedem Benutzer zurückzusetzen (Ohne den Benutzer zu löschen). Ich wollte das mithilfe eines shellscripts realisieren, was sich in den Startobjekten des Benutzers befindet.
    Ich bin soweit, dass alle Daten außer (hier liegt das Problem) die Dateien, die ein Leerzeichen enthalten gelöscht werden.

    Hier ist der Code:

    Code:
    todel=$(ls $HOME)
    
    for i in $todel
    do
        del=$(ls $HOME/$i)
    
        if [ "$i" != "Library" ]
        then
            if [ $i != "Desktop" ] && [ $i != "Documents" ] && [ $i != "Downloads"] && [ $i != "Movies" ] && [ $i != "Music" ] && [ $i != "Pictures"] && [ $i != "Public" ] && [ $i != "Sites" ] && [ $i != "." ] && [ $i != ".." ]
                then
                rm -r $HOME/$i
            else
               if test "$del" != ""
                   then
                   rm -r $HOME/$i/*
               fi
            fi
         fi
        del=""
    done
    
    

    Vielleicht hat auch jemand eine andere Idee.

    Mfg Domme
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. ./pat

    ./pat Mitglied

    Dabei seit:
    04.12.2008
    Beiträge:
    33
    Zustimmungen:
    0
    Ort:
    NRW
    Was spricht gegen rm -fr ~/*
     
  4. Gast1

    Gast1 Guest

    Daß dann auch die vom Nutzer erstellten Dokumente&Co weg sind?
     
  5. Domme.

    Domme. Mitglied

    Dabei seit:
    28.12.2008
    Beiträge:
    33
    Zustimmungen:
    0
    Es sollen ja alle vom Benutzer erstellten Daten gelöscht werden. Es sollen aber alle Verzeichnisse erhalten bleiben die von den "Werkseinstellungen" aus schon da sind. Also "Documents", "Pictures" und co. Außerdem soll der Inhalt aus "Library" nicht gelöscht werden, was jedoch oben im Code schon drin ist.
     
  6. icetea

    icetea Jungspund

    Dabei seit:
    27.01.2008
    Beiträge:
    22
    Zustimmungen:
    0
    Hi,

    also ich bin ziemlich unwissend was shell scripts angeht aber wäre es nicht möglich ein standard bzw default profile zu erstellen und das als vorlage zu nutzen.

    dann sowas wie
    Code:
    mv $HOME/Library /tmp/$HOME/Library
    rm -rf $HOME/*
    cp $PATH_TO_DEFAULT $HOME
    mv /tmp/$HOME/Library $HOME/Library
    
    soll nur die richtug zeigen die ich meine, ein funktionierendes script is es natürlich nicht.

    /edit:
    und dann vielleicht noch mit chown und chmod die benutzerrechte anpassen
     
  7. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  8. #6 karru, 14.02.2009
    Zuletzt bearbeitet: 14.02.2009
    karru

    karru OSX'ler

    Dabei seit:
    02.05.2006
    Beiträge:
    338
    Zustimmungen:
    0
    Problem stell ich einfach mal anhand folgendem Beispiel dar:
    Code:
    karru@debian:~/test$ ls -l
    insgesamt 0
    -rw-r--r-- 1 karru karru 0 14. Feb 17:50 Datei1
    -rw-r--r-- 1 karru karru 0 14. Feb 17:50 Datei 2
    karru@debian:~/test$ ls
    Datei1  Datei 2
    karru@debian:~/test$ for i in $(ls); do echo "$i"; done
    Datei1
    Datei
    2
    Bei dieser "Methode" Dateinamen anzugeben ist das Leerzeichen das Trennzeichen.
    Abhilfe schafft man sich, indem man nicht for ... ls nimmt.
    Eine, wie ich finde, einfache und nette Möglichkeit ist die verwendung von find ... | while read FILE.
    Code:
    karru@debian:~/test$ find . | while read i; do echo $i; done
    .
    ./foo
    ./Datei1
    ./Datei 2
    karru@debian:~/test$
    PS:
    http://forum.ubuntuusers.de/topic/bash-for-mit-ls-und-leerueichen-in-dateinamen/
    Die letzten drei Posts zum Thema $IFS.
     
  9. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Wenn man "$(ls)" schreibt (also mit doppelten Anfuehrungszeichen), ist das Problem auch mit 'ls' geloest, zumindest bei meinem kleinen Test.
    Code:
    #> for i in "$(ls)"; do echo "$i"; done
    
    Wobei das Linux ist. Vielleicht reagiert das Dateisystem von Mac OSX da ja auch wieder anders.
     
Thema:

"Reset" eines Benutzers

Die Seite wird geladen...

"Reset" eines Benutzers - Ähnliche Themen

  1. Tectia SSH USERAUTH Change Request Password Reset

    Tectia SSH USERAUTH Change Request Password Reset: This Metasploit module exploits a vulnerability in Tectia SSH server for Unix-based platforms. The bug is caused by a...
  2. USB Geräte per Bash Script resetten (Gerät hängt sich öfter mal auf)

    USB Geräte per Bash Script resetten (Gerät hängt sich öfter mal auf): Hallo. Ich habe eine USB Netzwerkkarte an einem Linux Router System. (LogiLink mit MosChio MCS 7830). OS ist Debian 6. System ist ein MSI...
  3. resolv.conf reset nach reboot

    resolv.conf reset nach reboot: Moin, hab nen stranges Prob. mit meiner Resolv.conf seit dem ich von dhcp auf feste ip umgestiegen bin. Und zwar wird bei jedem neustart...
  4. IPtables, reseten sich nach 24h ?

    IPtables, reseten sich nach 24h ?: Hallo Forum, auf meinem Server reseten sich die IPtables nach 24h. kann ich diese Funktion abschalten, oder gibt es eine "reset" datei die bei...
  5. kemu reset

    kemu reset: Hallo Ich möchte das gesamte kde-menü in den Ausgangszustand zurücksetzen. Habe schon einiges gelöscht, aber es kommt immer noch das alte...