![So prüfen Sie, ob ufw programmgesteuert ausgeführt wird](https://rvso.com/image/1083748/So%20pr%C3%BCfen%20Sie%2C%20ob%20ufw%20programmgesteuert%20ausgef%C3%BChrt%20wird.png)
Bei den meisten Diensten (z. B. Privoxy) gibt es eine einfache Möglichkeit, den Dienststatus abzurufen:
ps -C [servicename]
Überprüfen Sie dann den Exit-Code ($?)
: 0: Der Dienst wurde ausgeführt 1: wird nicht ausgeführt Dies ist bei ufw nicht der Fall (wird nicht als Dienst erkannt?). Es sudo service ufw status
wird immer mit 0 beendet, unabhängig davon, ob ufw ausgeführt wurde oder nicht. Gibt es Vorschläge, wie man ufw programmgesteuert über den Exit-Code des Befehls abrufen kann, der zum Überprüfen des ufw-Status verwendet wird?
Antwort1
Da der zurückgegebene Exit-Code sudo ufw status
immer 0 ist, müssen Sie grep
für den Statuswert nur Folgendes angeben:
$ sudo ufw status
Status: inactive
$ sudo ufw status | grep -qw active
$ echo $?
1
Damit es richtig funktioniert, müssen Sie die -w
folgende Option verwenden man grep
:
-w, --word-regexp
Select only those lines containing matches that form whole
words. The test is that the matching substring must either be
at the beginning of the line, or preceded by a non-word
constituent character. Similarly, it must be either at the end
of the line or followed by a non-word constituent character.
Word-constituent characters are letters, digits, and the
underscore.
-q
ist nur der Ruhemodus, es wird nichts in die Standardausgabe geschrieben
Antwort2
So überprüfen Sie den Status der UFW-Nutzung
sudo ufw status verbose
Die Ausgabe ähnelt
my@machine:~$ sudo ufw status verbose
[sudo] password for youruser:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip