So prüfen Sie, ob ufw programmgesteuert ausgeführt wird

So prüfen Sie, ob ufw programmgesteuert ausgeführt wird

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 statuswird 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 statusimmer 0 ist, müssen Sie grepfü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 -wfolgende 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.

-qist 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

verwandte Informationen