web-dev-qa-db-fra.com

Comment oublier les réseaux sans fil en ligne de commande?

À l'aide de la ligne de commande, comment faire en sorte que le système oublie les réseaux sans fil auxquels j'ai déjà été connecté?

1
thedp

Pour les connexions gérées via network-manager, il devrait être possible de le faire via l'interface nmcli, par exemple. supprimer des connexions sans fil antérieures à un jour

nmcli -t -f TYPE,TIMESTAMP,UUID con list | 
  awk -F\: -v oldts="$(date +%s -d '1 day ago')" '$1 == "802-11-wireless" && $2 < oldts {print $3}' |
  while read -r uuid; do
    nmcli con delete uuid "$uuid"
  done

ou (peut-être un peu plus gentil) quelque chose comme

#!/bin/bash

oldstamp=$(date +%s -d '1 day ago')

while IFS=\: read -r contype timestamp uuid
do
  case "$contype" in
    802-11-wireless)
      if ((timestamp < oldstamp)); then
        nmcli con delete uuid "$uuid"
      else
        echo "$uuid: too new: skipping"
      fi
    ;;

    *)
      echo "skipping connection type $contype"
    ;;
  esac
done < <(nmcli -t -f TYPE,TIMESTAMP,UUID con list)

L'augmentation des privilèges doit être gérée par dbus/policykit. Par conséquent, Sudo ne devrait pas être tenu de supprimer les connexions créées par l'utilisateur appelant.

3
steeldriver