Catégorie : Systèmes

10 septembre 2015 /

Pour écrire une commande sur plusieurs ligne dans un terminal, il suffit de mettre un backslash \ à la fin de la ligne courante. Cela va ouvrir une nouvelle ligne permettant poursuivre la commande sur une nouvelle ligne « > » (et ainsi d’y voir plus clair lorsque l’on tape une longuueee commande):

echo "salut" \
>"ça" \
>"va?"

salut ça va?

9 septembre 2015 /

Avec la commande Ulimit, Il est possible de définir pour un certain nombre de ressources (nombre de fichiers ouverts, taille des fichiers, nombre de processus instanciés, temps CPU, etc), une limite “souple” (soft limit) qui peut être augmentée par l’utilisateur  jusqu’à une limite maximale qualifiée de limite “dure” (hard limit). Cela peut-être très utile pour se prémunir contre des attaques Fork Bomb.

Linux permet de limiter les ressources allouées aux utilisateurs, ou aux groupes d’utilisateurs, via le fichier “/etc/security/limits.conf” chargé par PAM à chaque ouverture de session.
Libre à nous, ensuite d’adapter les ressources dont il dispose à ses besoins via la commande “ulimit”.

Pour voir toutes les valeurs:

ulimit -a

Pour voir la limite Hard de toutes les valeurs:

ulimit -aH

Pour voir le nombre de processus maximum autorisé:

ulimit -u

Pour savoir jusqu’à combien la limite peut être augmentée:

ulimit -Hu

Passer à 200 le nombre de processus autorisés :

ulimit -Su 200

Utiliser la valeur maximale :

ulimit -u $(ulimit -Hu)


Temps UC (secondes): ulimit -t unlimited
Taille de fichier (blocs): ulimit -f unlimited
Taille de mémoire maximale (ko): ulimit -m unlimited
Nombre maximal de processus utilisateur: ulimit -u unlimited
Fichiers ouverts: ulimit -n 8192 (valeur minimale)
Taille de pile (ko): ulimit -s unlimited
Mémoire virtuelle (ko): ulimit -v unlimited

 

Le fichier “/etc/security/limits.conf” ressemble à ça:

<domain> <type> <item> <valeur>
@starworld      soft      nproc      100
@starworld      hard      nproc      200
starmate         hard      nproc      300

  • ligne 1 : les utilisateurs du groupe “starworld” ne pourront pas, par défaut, créer plus de 100 processus.
  • ligne 2 : en cas de besoin, les membres du groupe “starworld” pourront monter cette limite à 200 via “ulimit -u 200″.
  • ligne 3 : l’utilisateur “starmate” appartient au groupe “starworld”, donc il dispose d’un maximum de 100 processus par défaut, mais, contrairement aux membres de son groupe, il peut augmenter cette limite jusqu’à 300.

Mise en place dans PAM

Le fichier “/etc/security/limits.conf” est chargé par PAM à chaque connexion d’utilisateur. Pour cela, le module “pam_limits.so” est chargé par une ligne du type :

cat /etc/pam.d/login


...
# Sets up user limits according to /etc/security/limits.conf
session    required   pam_limits.so
...

8 septembre 2015 /

Il est possible d’afficher un calendier dans son terminal.

Pour cela il faut utiliser la commande cal:

cal

cal

7 septembre 2015 /

Pour envoyer un message à Syslog, on ce sert de la commande logger:

logger "je m'éclate sur starmate.fr"

Le fichier de log /var/log/syslog doit maintenant contenir le message:

syslog:Apr 22 14:30:02 entropia starmate: je m'éclate sur starmate.fr

6 septembre 2015 /

C’est très simple de rapidement enlever les commentaires (#) et les lignes vide d’un fichier avec Egrep:

egrep -v '^[ \t]*#|^$' fichier.txt

Ou alors pour retirer uniquement les commentaires:

cat fichier.txt | grep -v "#" | uniq