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
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.
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 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…
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:
in der Datei /etc/sophomorix/sophomorix.conf die lösch und
Duldungszeit auf “0” setzen
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/
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
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
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?):
#### /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.