Outils pour utilisateurs

Outils du site


blog

Lsof - Mettre fin à tous les processus d'un utilisateur

Voir http://www.thegeekstuff.com/2012/08/lsof-command-examples/

pkill -u marc

Ou

kill $(lsof -t -u marc)

PS :
lsof peut remplacer netstat lsfd peut remplacer lsof

2025/03/24 15:06

Ansible user - retirer un utilisateur d'un groupe secondaire - remove user from a secondary group - unappend

Exemple - retirer tous les utilisateurs du groupe “docker”

- name: get all user into docker group
  shell: |
    awk -F':' '/^docker:/ {print $4}' /etc/group
  register: users_intogroup_docker
  changed_when: False

- name: no user into docker group
  command: gpasswd -d {{ item }} docker
  with_items: "{{ users_intogroup_docker.stdout.split(',') }}"
  when: not item in [""]
2025/03/24 15:06

Logique - Algèbre de Boole

Voir :

Ne pas confondre la logique booléenne avec la logique aristotélicienne / scolastique !

En Python

En bash

combine (moreutils)
echo aaa > a.txt
echo bbb > b.txt
echo common | tee a.txt b.txt
$ cat a.txt
aaa
common

$ cat b.txt
bbb
common
$ combine a.txt and b.txt
common

$ combine a.txt or b.txt
aaa
common
bbb
common

$ combine a.txt xor b.txt
aaa
bbb

$ combine a.txt not b.txt
aaa

$ combine a.txt or b.txt |sort | uniq
aaa
bbb
common
2025/03/24 15:06

Logique - Algèbre de Boole - and - or - Ordre des opérations - priorité de calcul

Le AND et prioritaire sur le OR.

Moyen mnémotechnique : penser à Haor

In [36]: False and False or True
Out[36]: True

In [37]: ( False and False ) or True
Out[37]: True

In [38]: False and ( False or True )
Out[38]: False

Pour rappel

OR + Disjonction

A B Y
0 0 0
0 1 1
1 0 1
1 1 1

AND . Conjonction

A B Y
0 0 0
0 1 0
1 0 0
1 1 1

Symboles du OR :

  • *
  • | ou ||

Symboles du AND :

  • .
  • & ou &&
2025/03/24 15:06

Notes Rsyslog

Généralités

Voir :

Exemple de fichier de conf :

Vérifier la syntax du fichier de conf

rsyslogd -N1

Supprimer certaines classes de messages

*.=debug	stop
*.=info		stop
*.=notice	stop
#*.=warn	stop
#*.=err		stop

Supprimer des messages voir https://linux.die.net/man/5/rsyslog.conf

# discards everything
#*.* ~
*.* stop

/etc/rsyslog.conf

$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

$SystemLogRateLimitInterval 0
$SystemLogRateLimitBurst 0

/etc/default/rsyslog

# Options for rsyslogd
# -x disables DNS lookups for remote messages
# See rsyslogd(8) for more details
#RSYSLOGD_OPTIONS=""
RSYSLOGD_OPTIONS="-x"

Conf client / serveur

Conf serveur
apt-get install rsyslog rsyslog-relp

/etc/default/rsyslog

module(load="imtcp")
#input(type="imptcp" port="1514" address="127.0.0.1")
input(type="imtcp" port="1514")
iptables -A INPUT -i ens2 -s 51.91.254.172 -p tcp --dport 1514 -j ACCEPT
iptables -A INPUT -i ens2 -p tcp --dport 1514 -j REJECT

Voir $AllowedSender

system restart rsyslog

Par défaut les logs arriverons ici : /var/log/syslog

Pour changer le fichier de destination

/etc/rsyslog.d/45-rsyslog-server.conf

$template syslog,"/var/log/clients/%fromhost%/syslog.log"
*.* ?syslog

# Plus de log dans /var/log/syslog ni ailleurs
& stop
Conf client

/etc/rsyslog.d/20-pushlog.conf

$ActionQueueType LinkedList # Exécuter le traitement de façon asynchrone.
$ActionQueueFileName srvrfwd1 # Préfixe de nom unique pour les fichiers spool. Active également le mode disque.
$ActionQueueMaxDiskSpace 1g # Limite d'espace de 1 Go.
$ActionQueueSaveOnShutdown on # Enregistrer les données sur le disque si Rsyslog est arrêté.
$ActionResumeRetryCount -1 # Tentatives infinies en cas d'échec de connexion avec l'hôte.
# jouter les lignes suivantes dans la section RULES :
# Envoyer tous les messages sur le serveur de journalisation distant avec la commande suivante :

# Les @@ doivent figurer dans la ligne de commande, le fait qu'il y en ai deux indique que les échanges se feront en TCP.
*.* @@192.168.1.10:1514

Test

logger -s "TEST plop"

Les filtres

Voir :

3 types de filtres :

  • Facility/Priority-based filters
  • Property-based filters
  • Expression-based filters
Facility/Priority-based filters
Property-based filters
:msg, contains, "123: Message for bucket 123" -/var/log/myapp/123.log

/etc/rsyslog.d/20-ufw.conf

# Log kernel generated UFW log messages to file
:msg,contains,"[UFW " /var/log/ufw.log

# Uncomment the following to stop logging anything that matches the last rule.
# Doing this will stop logging kernel generated UFW log messages to the file
# normally containing kern.* messages (eg, /var/log/kern.log)
#& stop
Expression-based filters

Conf input

Old

Serveur rsyslog distant

Voir http://www.it-connect.fr/centralisez-vos-logs-avec-rsyslog/

Voir aussi :

  • journald
  • imjournal
apt-get install rsyslog

ou

yum install rsyslog
netstat -taupen |grep 514

Aucun processus n'écoute sur le port UDP 514.

Utilisation du port UDP 514. Il suffit de dé-commenter ces lignes :

/etc/rsyslog.conf

# UDP
$ModLoad imudp  
$UDPServerRun 514

# TCP
#$ModLoad imtcp
#$InputTCPServerRun 514
systemctl restart rsyslog
netstat -taupen |grep 514
udp        0      0 0.0.0.0:514             0.0.0.0:*                           0          199126      5041/rsyslogd
udp6       0      0 :::514                  :::*                                0          199127      5041/rsyslogd

Sur les clients, à la fin du fichier de conf, nous précisons où envoyer les logs

/etc/rsyslog.conf

# UDP
*.*  @IP_Adress_ou_FQDN:514

# TCP
#*.*  @@IP_Adress_ou_FQDN:514

Après le bloc « RULES » dans le fichier de configuration du serveur :

$template syslog,"/var/log/clients/%fromhost%/syslog.log"

On va ensuite appliquer ce template à tous les logs entrants :

*.* ?syslog

Règle iptables

iptables -A INPUT -m state --state NEW -m udp -p udp --dport 514 -j ACCEPT 
Autres

/etc/rsyslog.d/listen.conf

$SystemLogSocketName /run/systemd/journal/syslog

/etc/rsyslog.conf

#$OmitLocalLogging on
$OmitLocalLogging off
systemctl restart rsyslog
systemctl restart systemd-journald

Voir /etc/systemd/journald.conf

A tester

/etc/rsyslog.conf

if $msg contains 'pcieport' then /dev/null & stop

if $msg contains 'pcieport' then {
   action(type="omfile" file="/dev/null")
}

Exemple

$SystemLogRateLimitInterval 5
$SystemLogRateLimitBurst 1200

# In order to gain read access to logs, make user 'utilisateur' member of group adm

$Template PreciseFormat,"%timegenerated:1:23:date-rfc3339% %HOSTNAME% %syslogpriority-text% %syslogtag%%msg:::drop-last-lf%\n"
# Decomment to apply PreciseFormat template to every log
# $ActionFileDefaultTemplate PreciseFormat

# Base for system with Coding Control
local3.*        /var/log/mylog1.log;PreciseFormat
local3.notice   /var/log/mylog2.log;PreciseFormat

# Finally discard local messages so they are not going to be written in other log files
local0.*,local1.*,local2.*,local3.*,local4.*,local5.*,local6.*,local7.*         stop
logger -p local0.notice -t MYTAG "my message"

Infos utiles

Valider la configuration

rsyslogd -N1

Docker et Rsyslog

docker-compose       
       logging:
            driver: syslog
            options:
                tag: "BigDataSolyDBTmp"
                syslog-facility: "local5"

rsyslog

$Template CustomFormat,"%timegenerated:1:23:date-rfc3339% %HOSTNAME% %syslogpriority-text% %syslogtag%%msg:::drop-last-lf%\n"
$ActionFileDefaultTemplate CustomFormat
$IMUXSockRateLimitBurst 2000
$template syslogDocker, "/var/log/plop/%APP-NAME:::secpath-replace%.log"
$umask 0002
local5.* ?syslogDocker
local5.* stop

Pb

Erreur : SystemLogRateLimitBurst is currently not permitted
journalctl -p warning -u rsyslog
command 'SystemLogRateLimitBurst' is currently not permitted - did you already set it via a RainerScript command (v6+ config)? [v8.24.0 try http://www.rsyslog.com/e/2222 ]

Solution Remplacer $SystemLogRateLimitBurst 2000 par $IMUXSockRateLimitBurst 2000

/etc/rsyslog.d/plop.conf

#$SystemLogRateLimitBurst 2000
$IMUXSockRateLimitBurst 2000

Et redémarrer le service rsyslog

Voir : http://www.celtha.es/blog/notas-sobre-rsyslog/

2025/03/24 15:06
blog.txt · Dernière modification : de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki