Ich habe einen Ubuntu-Server, der Remote-X-Sitzungen von Benutzern verarbeitet. Ich möchte jedoch nicht zulassen, dass Benutzer Hintergrundprozesse ausführen. Hier ist meine Frage:
Wie verhindere ich, dass Benutzer Hintergrundprozesse ausführen, oder gibt es eine einfache Möglichkeit, Prozesse von Benutzern abzubrechen, die nicht angemeldet sind?
ulimit
.Antworten:
Ich mache etwas Ähnliches auf meinen Servern. Der allgemeine Kern davon ist dies
1) Fügen Sie
/etc/pam.d/login
am Ende dersession
Elemente hinzu:2) Dann erstellen Sie
/etc/pam_session.sh
als (undchmod +x
):Wenn Sie möchten, können Sie etwas wie
sleep 5; pkill -9 -u "$PAM_USER"
nach dem hinzufügen,pkill
um sicherzustellen, dass es wirklich tot ist.Dies wird nur aufgerufen, wenn Login-Shells beendet werden, sodass die automatisierte Systemaktivität nicht beeinträchtigt wird. Wenn Sie jedoch noch sicherer sein möchten, können Sie eine Überprüfung hinzufügen, ob die UID größer als 1000 ist.
quelle
Mit diesem Befehl können Sie herausfinden, welche Benutzer am System angemeldet sind, und sie beenden:
Vielleicht müsste man wissen, wann man rennen soll:
Es ist eine Idee, aber ich denke, sie muss weiter verfeinert werden.
quelle
grep -v root
inawk '! /root/ { ... }
oder sogar einfachawk '$1 != "root"'