Relikt aus Extrakurs löschen

Hallo,
ich habe vor ein paar Monaten einen Extrakurs mit 20 usern angelegt, den ich, als ich ihn nicht mehr gebraucht habe, gelöscht habe. Heute habe ich mit sophomorix-class -i rumgespielt und festgestellt, dass dieser Kurs noch vorhanden ist, bzw. Rückstände davon. Der Kurs enthält noch 2 user, die auch gelöscht werden sollen, Lehrer ist keiner im Kurs angemeldet. Wie schaffe ich es den kompletten Kurs zu löschen, inklusive der darin befindlichen user? In der Schulkonsole taucht der Kurs nirgends auf.
sophomorix-groudel liefert folgendes:

    sophomorix-groupdel --class abi20
#### /usr/sbin/sophomorix-groupdel started ...                            ####
Checking if class abi20 is a adminclass/hiddenclass: Yes (adminclass)
Checking if class abi20 can be removed
   abi20 has 2 students
   Group abi20 is not empty
   WARNING: Not removing class abi20

Da muss es doch einen schlauen sophomorix-Befehl geben?!
Vielen Dank schonmal!
Gruß Daniel

Hallo Daniel,

ich glaube nciht, dass es einen Befehl gibt, der Projekt und enthaltene
Nutzer löscht.
Lösch die NUtzer (oder schmeiß sie wenigstens aus dem Kurs) und lösch
dann den Kurs mit dem von dir genannten Befehl.

LG

Holger

Schade eigentlich.
Die user lassen sich leider nicht löschen…zumindest nicht über sophomorix-user -R usw. Für das Entfernen des users aus dem Kurs finde ich leider keinen sophomorix-Befehl (vielleicht sehe ich aber den Wald vor lauter Bäumen nicht…)

Hallo,

18:29/0 server ~ # sophomorix-kill --help

sophomorix-kill removes users from the sophomorix database and deletes their data for good.

Options
-h / --help
-v / --verbose
-vv / --verbose --verbose
-i / --info
-u user / --user user
–lock / --unlock

–user user (Kill only this user, from the list of killable users)
–killuser user (Kill a user, even if she is not in sophomorix.kill)

18:29/0 server ~ # sophomorix-groupdel --help

sophomorix-groupdel deletes groups without users from the sophomorix database (and ldap)

Options
-h / --help
-v / --verbose
-vv / --verbose --verbose
–skiplock

–room name (a group for workstations)
–class name (a group for students)
–delete-all-empty-classes

–backup (default)
–nobackup

Please see the sophomorix-groupdel(8) man pages for full documentation

Gruß

Alois

Hallo Alois,
das hab ich schon gelesen, bringt mich aber nicht weiter, weil sophomorix-kill sagt, dass der user nicht killable ist. Und killable machen funktioniert auch nicht.
Es sind user eines Extrakurses. Die tauchen ja nicht in der Schüler.txt o.ä. auf…

Hallo Daniel,

der Löschprozess ist absichtlich nicht “einfach”.
Ein nicht mehr in den textdateien vorhandener Nutzer wird erstmal
nurnoch geduldet und erst nach einer einstellbaren Zeit in den
Ruhestand (deaktiviert) versetzt. Löschbar wird er erst nach einer
weiteren Zeit.

Willst du ihn schnell löschen, so geht das so:

  1. in der Datei /etc/sophomorix/sophomorix.conf die lösch und
    Duldungszeit auf “0” setzen
  2. die Zeilen der beiden Nutzer aus den Textdateien löschen (oder
    auskommentieren) also in der lehrer.txt, schueler.txt, extrauser.txt im
    Verzeichnis /etc/sophomorix/users/
  3. folgende Befehle ausführen
    sophomorix-check
    sophomorix-check
    sophomorix-move
    sophomorix-check
    sophomorix-check
    sophomorix-kill

Danach ist das Projekt leer und kann gelöscht werden.

Du kannst das Projekt aber auch löschen, wenn noch ein “admin” im
Projekt ist.
Dazu schaust du dir erstmal
sophomorix-project --help
an.
Um Nutzer in ein Projekt rein oder raus zu holen, benötigst du einen
“caller” also jemanden, der das darf (ein Trainer im Projekt).

Beispiele:

sophomorix-project -i -p p_wifi
zeigt alle Nutzer im Projekt p_wifi an

sophomorix-project -p p_wifi --caller administrator --addmembers zaloudek
fügt “im Namen von administrator” den Nutzer zaloudek dem Projekt p_wifi
hinzu

LG

Holger

Hallo Holger,
danke für die Mühe.

  1. die Zeilen der beiden Nutzer aus den Textdateien löschen (oder
    auskommentieren) also in der lehrer.txt, schueler.txt, extrauser.txt im
    Verzeichnis /etc/sophomorix/users/

das Problem ist, dass die user abi01 und abi16 in keiner der 3 Dateien vorkommen.
Ich kann auch nicht die Projekt-Befehle anwenden, da das Projekt abi20 nicht existiert. Es war ja mal ein Extrakurs.

Ich habe mal versucht, die Klasse abi20 zu reparieren. mit sophomorix-class —repair-class.
Dann kommt diese Ausgabe (vielleicht hilft das weiter);

sophomorix-class --reset-class abi20

#### /usr/sbin/sophomorix-class started ...                               ####
Type: adminclass
Removing common stuff:
   rm -rf /var/cache/sophomorix/tasks/classes/abi20/*
   rm -rf /home/share/classes/abi20/*
Resetting all users of class abi20:
Cleaning up user abi01
sophomorix-bind --quick --logout --host unknown --user abi01 --homedir none
Type:    LOGOUT of abi01
  * /usr/sbin/sophomorix-repair --quick --user abi01 --delete-binds ""
#### Reading permission data ...                                          ####
Managing pointers (bind mounts, links, ...) of abi01
 1)  abi20 (adminclass):
WARNING: Directory/file /home/students/abi20/abi01/__tauschen does not exist.
         Doing nothing.
WARNING: Directory/file /home/students/abi20/abi01/__vorlagen does not exist.
         Doing nothing.
      umount /home/students/abi20/abi01/__tauschen/tausch-abi20 &> /dev/null
      rmdir /home/students/abi20/abi01/__tauschen/tausch-abi20 &> /dev/null
      umount /home/students/abi20/abi01/__vorlagen/vorlagen-abi20 &> /dev/null
      rmdir /home/students/abi20/abi01/__vorlagen/vorlagen-abi20 &> /dev/null
WARNING: Directory/file /home/students/abi20/abi01/__tauschen does not exist.
         Doing nothing.
WARNING: Directory/file /home/students/abi20/abi01/__vorlagen does not exist.
         Doing nothing.
 2)  School-share:
WARNING: Directory/file /home/students/abi20/abi01/__tauschen does not exist.
         Doing nothing.
      umount /home/students/abi20/abi01/__tauschen/tausch-Schule &> /dev/null
      rmdir /home/students/abi20/abi01/__tauschen/tausch-Schule &> /dev/null
WARNING: Directory/file /home/students/abi20/abi01/__tauschen does not exist.
         Doing nothing.
   Removing contents of /home/students/abi20/abi01
GLOBIGNORE=/; rm -rf /home/students/abi20/abi01/* 2>/dev/null
   Creating directories in /home/students/abi20/abi01
chown: ungültiger Benutzer: »abi01:teachers“
create_share_link does nothing
chown: ungültiger Benutzer: »abi01:teachers“
create_school_link does nothing
Cleaning up user abi16
sophomorix-bind --quick --logout --host unknown --user abi16 --homedir none
Type:    LOGOUT of abi16
  * /usr/sbin/sophomorix-repair --quick --user abi16 --delete-binds ""
#### Reading permission data ...                                          ####
Managing pointers (bind mounts, links, ...) of abi16
 1)  abi20 (adminclass):
WARNING: Directory/file /home/students/abi20/abi16/__tauschen does not exist.
         Doing nothing.
WARNING: Directory/file /home/students/abi20/abi16/__vorlagen does not exist.
         Doing nothing.
      umount /home/students/abi20/abi16/__tauschen/tausch-abi20 &> /dev/null
      rmdir /home/students/abi20/abi16/__tauschen/tausch-abi20 &> /dev/null
      umount /home/students/abi20/abi16/__vorlagen/vorlagen-abi20 &> /dev/null
      rmdir /home/students/abi20/abi16/__vorlagen/vorlagen-abi20 &> /dev/null
WARNING: Directory/file /home/students/abi20/abi16/__tauschen does not exist.
         Doing nothing.
WARNING: Directory/file /home/students/abi20/abi16/__vorlagen does not exist.
         Doing nothing.
 2)  School-share:
WARNING: Directory/file /home/students/abi20/abi16/__tauschen does not exist.
         Doing nothing.
      umount /home/students/abi20/abi16/__tauschen/tausch-Schule &> /dev/null
      rmdir /home/students/abi20/abi16/__tauschen/tausch-Schule &> /dev/null
WARNING: Directory/file /home/students/abi20/abi16/__tauschen does not exist.
         Doing nothing.
   Removing contents of /home/students/abi20/abi16
GLOBIGNORE=/; rm -rf /home/students/abi20/abi16/* 2>/dev/null
   Creating directories in /home/students/abi20/abi16
chown: ungültiger Benutzer: »abi16:teachers“
create_share_link does nothing
chown: ungültiger Benutzer: »abi16:teachers“
create_school_link does nothing
#### NOT setting quota (nothing quota related changed)                    ####
#### NOT creating mailaliases/lists (nothing mail related changed)        ####
#### /usr/sbin/sophomorix-class terminated regularly   

Das mit dem LOGOUT verstehe ich nicht so ganz.

Viele Grüße
Daniel

Hallo Daniel,

bitte schau mal in die Datei /etc/sophomorix/users/extraklassen.txt
und kommentier dort die Zeile aus.
Danach
sophomorix-check

LG

Holger

Hallo Holger, auch da ist die Klasse nicht mehr eingetragen.
Duldungszeitraum habe ich mal auf 0 und sophomorix-check ausgeführt. Aber da ist leider nichts löschbares.
Ich habe mal auf dem Server mittels locate nach abi20 gesucht. Das ist die Ausgabe (vielleicht hilft das?):

/home/migration/filesystem/home/share/classes/abi20
/home/migration/filesystem/home/students/abi20
/home/migration/filesystem/home/students/abi20/abi01
/home/migration/filesystem/home/students/abi20/abi16
/home/migration/filesystem/home/students/abi20/abi01/__austeilen
/home/migration/filesystem/home/students/abi20/abi01/__dachboden
/home/migration/filesystem/home/students/abi20/abi01/__einsammeln
/home/migration/filesystem/home/students/abi20/abi01/__austeilen/austeilen-abi20
/home/migration/filesystem/home/students/abi20/abi01/__austeilen/austeilen-aktueller_raum
/home/migration/filesystem/home/students/abi20/abi16/__austeilen
/home/migration/filesystem/home/students/abi20/abi16/__dachboden
/home/migration/filesystem/home/students/abi20/abi16/__einsammeln
/home/migration/filesystem/home/students/abi20/abi16/__austeilen/austeilen-abi20
/home/migration/filesystem/home/students/abi20/abi16/__austeilen/austeilen-aktueller_raum
/home/migration/filesystem/home/teachers/fischd/__austeilen/austeilen-abi20
/home/migration/filesystem/home/teachers/fischd/_auszuteilen/auszuteilen-abi20
/home/migration/filesystem/home/teachers/fischd/_bereitstellen/bereitstellen-abi20
/home/migration/filesystem/home/teachers/fischd/_eingesammelt/eingesammelt-abi20
/home/migration/filesystem/home/teachers/pres/__austeilen/austeilen-abi20
/home/migration/filesystem/home/teachers/pres/_auszuteilen/auszuteilen-abi20
/home/migration/filesystem/home/teachers/pres/_bereitstellen/bereitstellen-abi20
/home/migration/filesystem/home/teachers/pres/_eingesammelt/eingesammelt-abi20
/home/migration/filesystem/var/cache/sophomorix/tasks/classes/abi20
/home/migration/filesystem/var/lib/cyrus/lock/a/user/abi20.lock
/home/share/classes/abi20
/home/students/abi20
/home/students/abi20/abi01
/home/students/abi20/abi16
/home/students/abi20/abi01/__austeilen
/home/students/abi20/abi01/__dachboden
/home/students/abi20/abi01/__einsammeln
/home/students/abi20/abi01/__austeilen/austeilen-abi20
/home/students/abi20/abi01/__austeilen/austeilen-aktueller_raum
/home/students/abi20/abi16/__austeilen
/home/students/abi20/abi16/__dachboden
/home/students/abi20/abi16/__einsammeln
/home/students/abi20/abi16/__austeilen/austeilen-abi20
/home/students/abi20/abi16/__austeilen/austeilen-aktueller_raum
/var/cache/sophomorix/tasks/classes/abi20
/var/lib/cyrus/lock/a/user/abi20.lock
/var/tmp/migration.tmp/filesystem/home/share/classes/abi20
/var/tmp/migration.tmp/filesystem/home/students/abi20
/var/tmp/migration.tmp/filesystem/home/students/abi20/abi01
/var/tmp/migration.tmp/filesystem/home/students/abi20/abi16
/var/tmp/migration.tmp/filesystem/home/students/abi20/abi01/__austeilen
/var/tmp/migration.tmp/filesystem/home/students/abi20/abi01/__dachboden
/var/tmp/migration.tmp/filesystem/home/students/abi20/abi01/__einsammeln
/var/tmp/migration.tmp/filesystem/home/students/abi20/abi01/__austeilen/austeilen-abi20
/var/tmp/migration.tmp/filesystem/home/students/abi20/abi01/__austeilen/austeilen-aktueller_raum
/var/tmp/migration.tmp/filesystem/home/students/abi20/abi16/__austeilen
/var/tmp/migration.tmp/filesystem/home/students/abi20/abi16/__dachboden
/var/tmp/migration.tmp/filesystem/home/students/abi20/abi16/__einsammeln
/var/tmp/migration.tmp/filesystem/home/students/abi20/abi16/__austeilen/austeilen-abi20
/var/tmp/migration.tmp/filesystem/home/students/abi20/abi16/__austeilen/austeilen-aktueller_raum
/var/tmp/migration.tmp/filesystem/home/teachers/fischd/__austeilen/austeilen-abi20
/var/tmp/migration.tmp/filesystem/home/teachers/fischd/_auszuteilen/auszuteilen-abi20
/var/tmp/migration.tmp/filesystem/home/teachers/fischd/_bereitstellen/bereitstellen-abi20
/var/tmp/migration.tmp/filesystem/home/teachers/fischd/_eingesammelt/eingesammelt-abi20
/var/tmp/migration.tmp/filesystem/home/teachers/pres/__austeilen/austeilen-abi20
/var/tmp/migration.tmp/filesystem/home/teachers/pres/_auszuteilen/auszuteilen-abi20
/var/tmp/migration.tmp/filesystem/home/teachers/pres/_bereitstellen/bereitstellen-abi20
/var/tmp/migration.tmp/filesystem/home/teachers/pres/_eingesammelt/eingesammelt-abi20
/var/tmp/migration.tmp/filesystem/var/cache/sophomorix/tasks/classes/abi20
/var/tmp/migration.tmp/filesystem/var/lib/cyrus/lock/a/user/abi20.lock

Viele Grüße
Daniel

Hallo Daniel,

ich habe Rüdiger, den Programmierer von Sophomorix, gebeten sich den Beitrag anzusehen.

Viele Grüße Alois

sophomorix-kill -killuser <username>

sollte eigentlich jeden user löschen, den sophomorix auch angelegt hat.

Hallo Daniel,

anscheinend sind die NUtzer
abi01
und
abi16
noch da.

Was gibt den ein

smbldap-usershow abi01
smbldap-usershow abi16
aus?

und was:
sophomorix-user -i
und
sophomorix-user -u abi01
sophomorix-user -u abi16
?
Da steht dann auch ob die tolerated oder deactivated sind.

Am Ende sollte
sophomorix-kill --killuser abi01
sophomorix-kill --killuser abi16

dann aufräumen.

LG

Holger

smbldap-usershow abi16

smbldap-usershow abi16
user abi16 doesn't exist

sophomorix-user -u abi16

#### /usr/sbin/sophomorix-user started ...                                ####
#### I'm looking for user abi16 in postgresql ...                         ####
Use of uninitialized value $gid in concatenation (.) or string at /usr/share/perl5/Sophomorix/SophomorixPgLdap.pm line 2485, <DATA> line 522.
Use of uninitialized value $admin_class in concatenation (.) or string at /usr/share/perl5/Sophomorix/SophomorixPgLdap.pm line 4734, <DATA> line 522.
(abi16 exists in the system with uidnumber 14121) 
==============================================================================
  AdminClass         :  (nonexisting)                                abi16      
Use of uninitialized value $exit_admin_class in printf at /usr/share/perl5/Sophomorix/SophomorixPgLdap.pm line 4760, <DATA> line 522.
  ExitAdminClass     :                                               abi16      
  uidNumber          : 14121                                         abi16      
  PrimaryGroup       : abi20                                         abi16      
  SecondaryGroups    : abi20                                         abi16      
  Gecos              : einsicht 16                                   abi16      
  Home               : /home/students/abi20/abi16 (exists)           abi16      
  loginShell         : /bin/false                                    abi16      
Can't call method "get_value" on an undefined value at /usr/share/perl5/Sophomorix/SophomorixPgLdap.pm line 7018.

Das nur der Vollständigkeit halber.

Denn sophomorix-kill --killuser hat dann letztendlich geklappt. Danach konnte ich dann auch die Gruppe abi20 mit groupdel löschen.

Sorry, das hätte ich bereits bei Alois Antwort bemerken können, aber da war ich noch so auf die Gruppe abi20 konzentriert und habe den killuser befehl nicht beachtet.

Vielen Dank an alle. Das Forum ist einfach super und ich bin jedes Mal beeindruckt, wie geduldig alle sind.