Script : Color_bash.sh

Travaillant actuellement sur une fonction d’affichage pour les scripts bash, je vous partage un petit qui vous affichera dans le terminal les couleurs et leur code associé en bash.

#!/bin/bash
#
#   This file echoes a bunch of color codes to the
#   terminal to demonstrate what's available.  Each
#   line is the color code of one forground color,
#   out of 17 (default + 16 escapes), followed by a
#   test use of that color on all nine background
#   colors (default + 8 escapes).
#
#   Author: Giles Orr
#   URL: http://gilesorr.com/bashprompt/howto/c350.html
#   License: GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation;
#            http://gilesorr.com/bashprompt/howto/a1004.html


T='gYw'   # The test text

echo -e "\n                 40m     41m     42m     43m\
     44m     45m     46m     47m";

for FGs in '    m' '   1m' '  30m' '1;30m' '  31m' '1;31m' '  32m' \
           '1;32m' '  33m' '1;33m' '  34m' '1;34m' '  35m' '1;35m' \
           '  36m' '1;36m' '  37m' '1;37m';
  do FG=${FGs// /}
  echo -en " $FGs \033[$FG  $T  "
  for BG in 40m 41m 42m 43m 44m 45m 46m 47m;
    do echo -en "$EINS \033[$FG\033[$BG  $T  \033[0m";
  done
  echo;
done
echo

echo -e "\e[0mNO_COLOR"
echo -e "\e[1;37mCOLOR_WHITE\t\e[0;30mCOLOR_BLACK"
echo -e "\e[0;34mCOLOR_BLUE\t\e[1;34mCOLOR_LIGHT_BLUE"
echo -e "\e[0;32mCOLOR_GREEN\t\e[1;32mCOLOR_LIGHT_GREEN"
echo -e "\e[0;36mCOLOR_CYAN\t\e[1;36mCOLOR_LIGHT_CYAN"
echo -e "\e[0;31mCOLOR_RED\t\e[1;31mCOLOR_LIGHT_RED"
echo -e "\e[0;35mCOLOR_PURPLE\t\e[1;35mCOLOR_LIGHT_PURPLE"
echo -e "\e[0;33mCOLOR_YELLOW\t\e[1;33mCOLOR_LIGHT_YELLOW"
echo -e "\e[1;30mCOLOR_GRAY\t\e[0;37mCOLOR_LIGHT_GRAY"

skynet.tomzone.fr - PuTTY_2

Source : https://github.com/fikovnik/bin-scripts

Script – Changer le hostname d’un serveur CentOS – RedHat

Dans les outils utiles, mention spéciale pour distribuer aux petits admin qui doivent renommer leur serveur RedHat / CentOS.

Ce petit script vous changera le hostname de votre serveur sous CentOS et RedHat sans redémarrer la machine. Simple. Efficace.

#!/bin/bash

#################################
#    FILE: change_hostname.sh   #
#    VERSION: 0.1               #
#    DATE: 08-04-2015           #
#                               #
#    AUTHOR: Thomas Bourcey     #
#################################

#############################################
#  USAGE :                                  #
#  $ sh change_hostname.sh new_hostname     #
#  or                                       #
#  $ sh change_hostname.sh                  #
#  Please enter new hostname: new_hostname  #
#############################################


if [ $EUID -ne 0 ]; then
        echo "The script must be run as root: # su - -c $0 or # sudo ./$0"
        exit 1
fi

$ command -v lsb_release >/dev/null 2>&1 || { echo >&2 "Package redhat-lsb-core is required. Download it \"yum install -y redhat-lsb-core\".  Aborting."; exit 1; }

if [ `lsb_release -a | grep -i Distributor | awk -F":" '{print $2}' | tr -d '[ \t ]'` != "RedHatEnterpriseServer" ]; then
        echo "Only for RedHat Distribution. Exiting !"
        exit 2
fi

OLD_HOSTNAME="$( hostname )"
NEW_HOSTNAME="$1"

if [ -z "$NEW_HOSTNAME" ]; then
 echo -n "Please enter new hostname: "
 read NEW_HOSTNAME < /dev/tty
fi

if [ -z "$NEW_HOSTNAME" ]; then
 echo "Error: no hostname entered. Exiting."
 exit 1
fi

echo "Changing hostname from $OLD_HOSTNAME to $NEW_HOSTNAME..."

hostname "$NEW_HOSTNAME"

sed -i "s/HOSTNAME=.*/HOSTNAME=$NEW_HOSTNAME/g" /etc/sysconfig/network

if [ -n "$( grep "$OLD_HOSTNAME" /etc/hosts )" ]; then
 sed -i "s/$OLD_HOSTNAME/$NEW_HOSTNAME/g" /etc/hosts
else
 echo -e "$( hostname -I | awk '{ print $1 }' )\t$NEW_HOSTNAME" >> /etc/hosts
fi

echo "Done."

 

 

Shc – Shell script compiler

Shc est un programme qui permet de compiler des scripts shell afin d’obtenir un binaire. Cette méthode offre plusieurs avantages aux développeurs. Tout d’abord, elle permet de distribuer un logiciel sans forcément fournir son code source. Ensuite, shc propose une option qui propose de positionner une date d’expiration. Cette fonctionnalité sera intéressante dans le cadre d’une distribution de logiciels avec une licence qui expire dans le temps ou d’un version beta que l’on veut bloquer.

Vous me direz quel est l’intérêt de ne pas fournir le code source ? Je pense dans le milieu des entreprises, lorsque l’on fournit à des utilisateurs travaillant sur des stations Linux des scripts ou des wrappers, il peut être intelligent de fermer le code pour éviter une utilisation détournée des scripts.

shc est quand même loin de fournir des binaires infaillibles. Des crackers peuvent facilement désassembler le fichier afin d’obtenir le code source. Néanmoins, cela découragera la plupart des utilisateurs.

Continuer la lecture de Shc – Shell script compiler

La commande netstat

netstat, pour « network statistics », est une ligne de commande affichant des informations sur les connexions réseau, les tables de routage et un certain nombre de statistiques dont ceux des interfaces, sans oublier les connexions masquées, les membres multicast, et enfin, les messages netlink. La commande est disponible sous Unix (et ses dérivés dont Linux) et sous Windows NT compatibles (wikipedia).

Voici quelques petits exemples.

Pour afficher le nombre de connexions sur le port 80 :

netstat -an | egrep “.*:80” | tr -s ” ” | cut -f6 -d ” ” | sort | uniq -c

On peut également afficher toutes les connexions TCP et sur quelles adresses distantes :

Continuer la lecture de La commande netstat