HSAdmin Backend Domains, E-Mail, Datenbanken
Michael Hierweck
2014-08-28 0ab359e690cd69977bcdf0838ac5735cf73adcc1
Trying to make user/pac deletion more reliable...
2 files modified
13 ■■■■■ changed files
hsarback/src/de/hsadmin/mods/pac/PacProcessorFactory.java 7 ●●●● patch | view | raw | blame | history
hsarback/src/de/hsadmin/mods/user/UnixUserProcessorFactory.java 6 ●●●● patch | view | raw | blame | history
hsarback/src/de/hsadmin/mods/pac/PacProcessorFactory.java
@@ -162,7 +162,12 @@
    }
    private Processor createDelUserProc(String pacName) {
        return new ShellProcessor("rm -rf /home/pacs/" + pacName + "/* && deluser --remove-all-files " + pacName + ">/dev/null 2>&1");
        Processor killProcessesProc = new ShellProcessor("killall -TERM -u " + pacName + " && sleep 5 && killall -KILL -u " + pacName + " && sleep 5");
        Processor userdelProc = new ShellProcessor("deluser --remove-all-files " + pacName);
        CompoundProcessor proc = new CompoundProcessor(killProcessesProc, userdelProc);
        proc.appendProcessor(new ShellProcessor("rm -f '/var/spool/cron/crontabs/" + pacName + "'"));
        proc.appendProcessor(new ShellProcessor("rm -f '/var/mail/" + pacName + "'"));
        return proc;
    }
    private Processor createMakePacDirectoryStructure(UnixUser unixUser) {
hsarback/src/de/hsadmin/mods/user/UnixUserProcessorFactory.java
@@ -56,12 +56,12 @@
        UnixUser user = (UnixUser) entity;
        String uid = user.getName();
        if (uid != null && uid.length() > 4) {
            Processor killProcessesProc = new ShellProcessor("killall -u " + uid + " && sleep 2 || echo -n 'no processes'");
            Processor killProcessesProc = new ShellProcessor("killall -TERM -u " + uid + " && sleep 5 && killall -KILL -u " + uid + " && sleep 5");
            Processor userdelProc = null;
            if (user.isDefaultHomedir()) {
                userdelProc = new ShellProcessor("userdel " + uid + " && rm -rf '" + user.getHomedir() + "'");
                userdelProc = new ShellProcessor("deluser --remove-all-files " + uid);
            } else {
                userdelProc = new ShellProcessor("userdel " + uid);
                userdelProc = new ShellProcessor("deluser " + uid);
            }
            CompoundProcessor proc = new CompoundProcessor(killProcessesProc, userdelProc);
            proc.appendProcessor(new ShellProcessor("rm -f '/var/spool/cron/crontabs/" + uid + "'"));