Ludovic MARCHAL Formation:TSGERI Session

Transcription

Ludovic MARCHAL Formation:TSGERI Session
Ludovic MARCHAL
Formation:TSGERI
Session:2015/2016
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative
Commons Attribution - Pas d’Utilisation Commerciale 4.0 International.
[email protected]
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
Table of Contents
Contexte réseau TSGERI...................................................................................................3
LAN3.................................................................................................................................4
Préambule..........................................................................................................................5
Vérification d’usage......................................................................................................5
Mise à jour................................................................................................................5
Intégrité de l’ISO......................................................................................................5
MD5SUM............................................................................................................6
Utilisateur et machine...................................................................................................6
Fichiers et extensions...............................................................................................6
Droits ROOT.................................................................................................................7
Debian Vs Ubuntu....................................................................................................9
Éditeur de texte.......................................................................................................11
Outils réseau................................................................................................................13
Dig..........................................................................................................................13
VIM........................................................................................................................15
Insertion.............................................................................................................15
Déplacements....................................................................................................15
Copier/coller......................................................................................................16
Annuler/refaire..................................................................................................16
Ouvrir/Sauvegarder/Quitter/Changer de fichier (buffer)...................................16
Répétitions.........................................................................................................16
Autres déplacements..........................................................................................17
Tips and tricks...................................................................................................17
Plus compliqué (ou simple)...............................................................................18
Variables d’environnement.........................................................................................19
SHELL...................................................................................................................20
Le TERMINAL......................................................................................................22
.bashrc....................................................................................................................22
Le prompt...............................................................................................................24
Pratique..............................................................................................................25
Commande.........................................................................................................26
Echo........................................................................................................................26
Manipulation de fichiers........................................................................................26
Déplacement......................................................................................................26
Man-page................................................................................................................27
Base de données.....................................................................................................28
[email protected]
2/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
Contexte réseau TSGERI
Voici le schéma de référence de la topologie de la salle de formation,
les groupes 1, 2, 3, 4 représente les LAN sur lesquels les stagiaires sont
répartis.
Je me situe dans le LAN3 soit 172.25.3.103
C’est sur ce segment que les services DHCP, DNS vont être maintenu
[email protected]
3/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
LAN3
Contexte technique de ma machine :
Ensemble des applications testées
ESXI: Ajout des pilotes dans l'ISO
Vbox
Docker
PVE
Sur le LAN 3 les circonstances ont fait que j’ai put tester Proxmox sur un
Desktop, et j’ai utilisé mon laptop pour virtualiser les serveurs avec
VirtualBox :
•
Samba
•
Fusion Directory (LDAP)
•
PhpIPAM
•
GLPI
•
Bind9
•
ISC-DHCP
•
Postgres
•
Apache
[email protected]
4/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
Docker
•
APT-Cacher-NG
•
NGINX
•
Postgres
•
Odoo
•
Rundeck
•
Websync
En local
•
Unbound
•
Glances
Préambule
Constatant un défaut de vocabulaire pour qui souhaite découvrir le
monde de l’informatique il me semble nécessaire de regrouper ici les
conventions d’usage et de nommage.
Dans l’ensemble ceci d’applique aux systèmes Débian et dérivés.
Évoluer sous environnement Gnu/Linux se révelant un peu plus
technique que sous Microsoft, la plongée dans ce genre de système
Gnu/Linux peu se révéler déroutante pour le novice.
Aussi seront présenté les utilitaires inhérents à l’utilisation convenable
de la distribution.
Ceci s’applique à un « desktop » autant qu’a un serveur, d’une manière
générale bien qu’il y ai une différence notable : le démarrage du
serverX (pour l’affichage graphique) qui modifie le comportement du
Network-manager.
Vérification d’usage
Mise à jour
Dans toutes les installations abordées dans les documentations, prévoir
systématiquement l’utilisation de la commande :
Sudo apt-get update
avant toute installation.
Copy backup
Avant toutes modifications d’un fichier de configuration, prévoir
systèmatiquement cette commande :
Sudo cp fichieràmodifier fichieràmodifier.bak (ou .old)
[email protected]
5/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
Intégrité de l’ISO
Veillez à vérifier l’intégrité du média télécharger cela évite quelques
désagréments lors de l’installation, il existe à cet effet plusieurs
méthodes j’aborderais md5.
Existe également GPG, cependant aborder le chiffrement en TSGERI m’a
attiré des ennuis : insultes, calomnies, manace.
La méthode est très simple déplacez vous dans le répertoire oû se situe
votre ISO et invoquez :
md5sum file.iso
Une valeur vous est retournée, il faut la comparer avec la valeur indiqué
sur le site de l’éditeur.
MD5SUM
Les origines sont à trouver dans les sommes de control de l’adressage
IP : cksum, qui permet de trouver les erreurs dans la transmission d’un
« message ».
MD5 est plus évolué.Il permet la détection et la réparation du message
en cas d’altération de celui-ci.
Utilisateur et machine
L’utilisateur sera indiqué par :
username
La machine en local sera indiquée par :
localhost
La machine distante sera indiquée par :
remotehost
[email protected]
6/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
\O/ [username@localhost]-[~]-[ 9:50]-->
Fichiers et extensions
L’usage des extensions files.avi ; files.exe ; files.bak est propre au
système Microsoft, il s’agit d’une convention le : 8.3, instauré chez
Microsoft, le système utilise alors l’extension afin d’identifier quelle
application utiliser.
C’est pour cette raison que lorsque vous récupérer un fichier file.htm
sous Gnu/Linux il se nommera file.html
sous Gnu/Linux les extensions servent avant toute chose à l’utilisateur
pour identifier clairement ce à quoi sert le dit fichier.
Lorsque une configuration ou un fichier sera cité en exemple, il sera
nommé une fois, puis simplement file.
[email protected]
7/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
Droits ROOT
Droits ROOT
Root est l’administrateur , le SuperUtilisateur : l’Homme du Train (Matrix
2)
Acquisition des droits
Afin d’effectuer une action nécessitant les droits d’administration ; il faut
préfixer la commande avec sudo, par exemple pour modifier un fichier
de configuration situé à la racine.
Le fichier des interfaces réseau :
\O/ [username@localhost]-[~]-[ 9:13]-->
>~ sudo vi /etc/network/interfaces
Les droits sont indiqués dans le prompt .
Le mode utilisateur est indiqué avec le symbole tidle: ~
Ici mon prompt personnalisé avec un message d’accueil ; d’ordinaire il
est simplement indiqué :
utilisateur (at) machine>~
Bonjour, username. La forme ?
Nous sommes le:jeudi 2 juin 2016, 08:54:12 (UTC+0200)Kernel Information:Linux 4.0.0-kali1amd64
08:54:12 up 6 min, 1 user, load average: 0,01, 0,03, 0,03\O/ [username@localhost]-[~]-[ 8:54]-->
>~
Lorsque nous sommes en ROOT c’est-à-dire en SuperUtilisateur le mode
[email protected]
8/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
est indiqué dans le prompt avec le symbole # dièse.
root@localhost:/home/username#
Quitter le mode ROOT s’effectue avec : exit
root@localhost:/home/username# exit
exit
\O/ [username@localhost]-[~]-[ 9:13]-->
>~
Lorsqu’une commande est simplement préfixée avec sudo l’utilisateur
dispose des droits de manière temporaire, c’est une sécurité.
Il faut éviter de rester en ROOT de manière permanente, car une erreur
est vite arrivé.
[email protected]
9/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
Debian Vs Ubuntu
Sous Debian l’utilitaire SUDO n’est pas installé et l’utilisateur ne dispose
pas des droits d’administration, il faut alors se loger en ROOT
directement.
Debian se veut un peu plus technique qu’une Ubuntu, vous avez la
possibilité soit de :
•
ajouter sudo
Auquel cas il faudra ensuite ajouter l’utilisateur au groupe sudo :
># aptitude install sudo
> ~su root
> # adduser USERNAME sudo
>
• ajouter l’utilisateur dans le fichier sudoers
Mais pour effectuer cette action il faut se logger en ROOT et invoquer
visudo.
Attention le fichier /etc/sudoers ne s’édite qu’avec VISUDO
Bien que VISUDO fasse appel à NANO , ne pas éditer le fichier
directement avec NANO, une erreur vous bloquerait et vous
empêcherait de modifier plus avant vos droits.
[email protected]
10/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
Et nous rencontrerons ici un éditeur de texte nano :
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults
env_reset
Defaults
mail_badpass
Defaults
secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# Ici indiquer l’utilisateur
USERNAME ALL=(ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
^G Aide ^O Écrire ^R Lire fich.^Y Page préc.^K Couper ^C Pos. cur.
Les commandes
^X Quitter
^J Justifier ^Wd’édition
Chercher et
^Vd’enregistrement
Page suiv.^U Coller du^Tdocument
Orthograp. sont
indiqués en bas de page.
Contrôle est indiqué avec le symbole ^
contrôle + o pour écrire
contrôle + x pour quitter
La ligne en rouge indique que tous les utilisateurs du groupe SUDO sont
ROOT.
Il est possible de les ajouter individuellement.
[email protected]
11/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
Par la suite lorsqu’une commande sera indiquée de cette manière :
^O
Il faudra lire :
Ctrl plus O entré
C’est beaucoup plus court et rapide à écrire.
Éditeur de texte
Les distributions GNU/Linux dispose de plusieurs éditeurs de texte, le
plus simple étant NANO une évolution de PICO
Les 2 fonctionnent de façon similaire.
Cependant un outil réellement puissant existe, il s’agit de VI : un peu
déroutant au début lorsque l’on ne trouve pas les informations
adéquates.
Dans un premier temps je recommande l’installation de VIM : une version
améliorée de VI.
Je mets également un script à disposition sur GitHub , après
récupération et exécution du script celui-ci va installer quelques
utilitaires notament VIM et Most et les définir par défaut comme
« editeur » et comme lecteur.
Ainsi que les manpages en français.
Si l’utilisateur ne dispose pas de connectivité il peut copier le script de la
page suivante dans un editeur de texte, le nommer et le rendre
executable avec un :
>~ chmod +x file
>~ ./file
Comme vu précédemment l’extension n’est pas obligatoire néanmoins
elle permet de reconnaître de quoi il s’agit visuellement, sinon veillez à
les ranger dans un répertoire dédié : script pourrait convenir.
[email protected]
12/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
#! /bin/bash
##
##
##
# In case ctrl+c is pressed, restore terminal color and prompt settings, then exit
function ctrl_c()
{
echo
echo "Exiting script..."
echo
tput sgr0
stty $sttysettings
exit 0
}
# If no su privileges available, try to get them
if [[ ! "$(whoami)" == "root" ]] ; then
echo -e "\nordinatous et #!++ "
# No sudo available? Then we can't get su privs. Advise and exit
if [[ $(which sudo) == "" ]] ; then
echo "'sudo' package missing! Please install."
echo "e.g.: apt-get install sudo"
exit 1
fi
echo "Requesting su permissions..."
# Run this script with sudo privs
sudo $0 $*
# If running this script with su privs failed, advise to do so manually and exit
if [[ $? > 0 ]] ; then
echo
echo "Acquiring su permission failed!"
echo "Please run this script with sudo permissions!"
echo "(e.g. 'sudo $0' or 'sudo bash $0')"
echo
exit 1
fi
exit 0
fi
apt-get install most
apt-get install dnstop
apt-get install htop
apt-get install cpuinfo
apt-get install sysstat
apt-get install vim
apt-get install manpages-fr
apt-egt install manpages-extra
export PAGER="most"
export EDITOR="vim"
exit 0
sources ~/home/$USER/.bashrc
exit 0
# Exit script
ctrl_c
[email protected]
13/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
Outils réseau
Dig
Dig permet d’interroger les bases de noms des serveurs DNS ;
voici quelques commandes utiles.
Demander un simple enregistrement : A
# dig ordinatous.com
; <<>> DiG 9.9.5-9+deb8u6-Debian <<>> ordinatous.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41094
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ordinatous.com.
IN
A
;; ANSWER SECTION:
ordinatous.com.
A
3600
IN
213.186.33.24
;; Query time: 311 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Jun 11 12:47:20 CEST 2016
;; MSG SIZE rcvd: 59
[email protected]
14/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
SOA
# dig AAAA ordinatous.com
; <<>> DiG 9.9.5-9+deb8u6-Debian <<>> AAAA ordinatous.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42328
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ordinatous.com.
IN
;; AUTHORITY SECTION:
ordinatous.com.
300
86400 3600 3600000 300
IN
AAAA
SOA dns108.ovh.net. tech.ovh.net. 2016061101
;; Query time: 242 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Jun 11 12:54:01 CEST 2016
;; MSG SIZE rcvd: 98
Interroger un serveur racine :
# dig @a.nic.fr A ordinatous.com
; <<>> DiG 9.9.5-9+deb8u6-Debian <<>> @a.nic.fr A ordinatous.com
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 19050
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ordinatous.com.
IN
A
;; Query time: 218 msec
;; SERVER: 194.0.9.1#53(194.0.9.1)
;; WHEN: Sat Jun 11 12:56:49 CEST 2016
;; MSG SIZE rcvd: 43
Outil d’analyze de
Berkeley :http://n2.netalyzr.icsi.berkeley.edu/analysis/
[email protected]
15/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
VIM
Les règles de base :
Taper :
i → Passer en mode insértion. Taper Echap pour repasser en mode Normal.
x → Supprimer le caractère sous le curseur
:wq → Sauvegarder et quitter (:w sauvegarde, :q<enter> quitter)
dd → Supprimer (et copier) la ligne courante
p → Coller
Récommandées :
hjkl (optionnel) → se déplacer (<-↓↑→). Souvenez vous j ressemble à une flèche vers le bas.
:help <commande> → Affiche l’aide pour <commande>. Vous pouvez aussi écrire :help pour
atterir sur l’aide générale.
J’écrirais alors la commande VIM :
:wq !
Comprendre :
: plus w plus q plus ! entrée
Insertion
a → Comme i, mais après la position du curseur.
o → Comme i, mais à la ligne suivante.
O → Comme o mais ajoute la ligne avant.
cw → Remplacer la fin du mot.
Déplacements
0 → Aller à la première colonne.
^ → Aller au premier caractère de la ligne.
$ → Aller à la fin de la ligne.
g_ → Aller au dernier caractère de la ligne.
/pattern → Rechercher pattern dans le fichier.
[email protected]
16/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
Copier/coller
P → Coller avant. Souvenez vous, p colle après la position du curseur.
yy → Copier la ligne courante. C’est plus simple et équivalent à ddP
Annuler/refaire
u → Annuler (undo)
<C-r> → Refaire
Ouvrir/Sauvegarder/Quitter/Changer de fichier (buffer)
:e <path/to/file> → Ouvrir.
:w → Sauvegarder.
:saveas <path/to/file> → Sauvegarder sous …
:x, ZZ ou :wq → Sauvegarder et quitter (:x sauvegarde seulement si nécessaire).
:q! → Quitter sans sauvegarder. De même :qa! quitte même si d’autres fichiers (buffers) ont des
modifications non sauvegardées.
:bn (resp. :bp) → Affiche le fichier suivant (resp. précédent).
Répétitions
. → Le caractère point répètera la dernière commande. Très utile.
N<commande> → répètera la commande N fois.
2dd → Supprimera 2 lignes
3p → copiera 3 fois d’affiler le texte copié
100idesu [ESC] → écrira “desu desu desu desu desu desu desu desu desu desu desu desu desu
desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu
desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu
desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu
desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu
desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu”
. → Juste après la dernière commande réécrira les 100 “desu”.
3. → Écrira 3 “desu” et non pas 300. Bien vu n’est-ce pas ?
[email protected]
17/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
Autres déplacements
NG → Aller à la ligne N
gg → raccourci pour 1G, retourner au début du fichier
G → Aller à la dernière ligne.
w → aller au début du mot suivant
e → aller à la fin du mot courant
Par défaut les mots sont seulement composés de lettres (et du
caractère souligné _). Appelons un MOT un ensemble de lettre séparé
par des caractères blancs (espaces, tabulation). Si vous voulez
considérer des MOTS alors il suffit d’utiliser les majuscules.
W → aller au début du MOT suivant
E → aller à la fin du MOT courant
% : Aller à la parenthèse, accolade, crochet correspondante.
* (resp. #) : Aller à la prochaine (resp. précédente) occurrence du mot sous le curseur
Tips and tricks
<position de depart><commande><position d'arrivee>
Par exemple : 0y$
0 → Aller au début de la ligne,
y → copie à partir d’ici,
$ → jusqu’à la fin de cette ligne.
[email protected]
18/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
On peut donc faire des choses comme ye, copie à partir de la position
courante du curseur jusqu’à là fin du mot. Mais aussi: y2/toto copie
jusqu’à la seconde prochaine occurrence de “toto”.
Ce qui est vrai pour y (yank → copier), est aussi vrai pour d
(delete → supprimer), v (sélection visuelle), gU (uppercase →
majuscule),gu (lowercase → minuscule), etc.
Plus compliqué (ou simple)
Déplacement en colonne
0 ^ $ g_ f F t T , ;
0 → aller à la colonne 0,
^ → aller au premier caractère de la ligne
$ → aller à la dernière colonne de la ligne
g_ → aller au dernier caractère de la ligne
fa → vous amène à la prochaine occurrence de a sur la ligne courante. , (resp. ;) recherche
l’occurrence suivante (resp. précédente).
t, → vous amène juste avant le ,.
3fa → recherche la 3ième occurrence de a.
F et T → comme f et t mais en arrière.
Un truc pratique : dt" → supprime tout jusqu’au prochain ".
[email protected]
19/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
Variables d’environnement
Si vous avez fait attention ; dans le script proposé plus haut, vous aurez
constaté ceci :
apt-get install most
Cette commande installera most qui est un lecteur, un afficheur de texte
avec une coloration syntaxique.
export PAGER="most"
Cette commande va définir most comme pager par défaut, en exportant
la variable d’environnement PAGER
Et si vous avez fait « très » attention :
apt-get install manpages-fr
apt-egt install manpages-extra
Il y a une coquille et je rappelle qu’il ne faut pas copier/coller sans
comprendre.
Ces 2 commandes (après correction et c’est une habitude à prendre)
vont installer les pages de manuel en français.
Et si vous avez cherché un peu vous aurez constaté la présence de
cette ligne :
sources ~/.bashrc
Cette commande met à jour votre .bashrc
Et c’est par la suite que MOST prend du sens car lorsque vous
appellerez votre man-page celui-ci aura une coloration ce qui est très
pratique et agréable à la lecture.
Les variables d’environnement sont lus au lancement du SHELL, les
variables définissent les répertoires contenant les executables
autorisées.
Nous avons besoin d’un interpréteur de commande SH, KSH ou BASH ,
BASH est celui par défaut sous GNU/Linux.
[email protected]
20/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
SHELL
Le Shell est notion qui n’est pas des plus aisés à cerner lorsque l’on a
pas l’habitude d’évoluer dans le milieu Unix-like.
Le shell est une « couche » entourant votre « noyau »
(kernel), il vous permet de communiquer avec votre noyau
Linux.
Le shell est un interpréte, il va interpréter les commandes
que vous passez dans votre « terminal » ; il existe
plusieurs shell :
•
sh
Thmpson Shell (dead)
•
sh
bourne shell (le remplaçant)
•
bash
bourne again shell (très répandu)
•
ksh
korn shell
•
csh
C shell
•
zsh
Z shell (très puissant)
•
ash
A shell
•
dash
Debian Almquist Shell
La liste des shells disponible se trouve dans : /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/screen
/bin/ksh93
[email protected]
21/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
Schémas systèmique
Ordre de lecture des
fichiers du shell
Lecture des variables
d’environnements
Aperçu du bashrc
MOTD= Message of the
Day
Exemple d’aliases
[email protected]
22/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
Le TERMINAL
A l’origine le terminal était une machine à elle
seule, avec un clavier (stdin) qui éventuellement
n’avait pas d’écran mais une imprimante .
(stdout) (stderr)
Le shell a besoin du terminal pour s’executer…, ce terminal est émulé
par une console virtuelle : comportement par défaut sans démarrage
du serveur graphique pour un serveur en règle générale.
Plusieurs console sont disponible on y accède à l’aide de :
ctrl+F2 à ctrl+F6
Existe également des terminaux graphiques lorsque le serveur
graphique est démarré typiquement le cas pour une station de travail.
Il est possible de basculer sur la console virtuelle à l’aide de :
ctrl+F1 à ctrl+F6
Retourner à la session graphique à l’aide de :
ctrl+F2
.bashrc
Le lancement du terminal demande la lecture de .bashrc
[email protected]
23/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
Le Message of the day est un message personnalisé qui apparaît à
l’ouverture du terminal, retournant un certains nombre d’information.
###°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°###
###
###
########~~~~~~~~~~Message of the day~~~~~~~~~~~~~~~~~~~~###
###
###
###_____________________________________________________###
echo -e "${LIGHTGRAY}";figlet -ct -f speed "Crunch Bang plus plus"
echo -e "${LIGHTRED}Bonjour, $USER. La forme ? "
echo -ne "${LIGHTPURPLE}Nous sommes le:${LIGHTPURPLE}"`date`
echo -e "${LIGHTPURPLE}Kernel Information:${LIGHTPURPLE}"`uname -sr`
echo -ne "${LIGHTCYAN}" `uptime`;
if [ "$color_prompt" = yes ]; then
J’utilise une police de caractère un peu particulière pour annoncer le
nom de ma distribution.
Figlet = Franck, Ian and Glenn’s LETters
ORIGIN
``FIGlet'' stands for ``Frank, Ian and Glenn's LETters''. Inspired by
Frank's .sig, Glenn wrote (most of) it, and Ian helped.
Most of the standard FIGlet fonts were inspired by signatures on various UseNet articles. Since typically hundreds of people use the same
style of letters in their signatures, it was often not deemed necessary
to give credit to any one font designer.
Disponible ici:figlet.org
On peut voir également des variables couleurs sous cette forme :
${LIGHTGRAY}
${LIGHTRED}
[email protected]
24/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
Elles sont définies dans le fichier comme ceci :
###°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°###
###-----------------Aide mémoire couleur Terminal------------###########
###_____________________________________________________###
BLACK='\e[0;30m'
BLUE='\e[0;34m'
GREEN='\e[0;32m'
CYAN='\e[0;36m'
RED='\e[0;31m'
PURPLE='\e[0;35m'
BROWN='\e[0;33m'
LIGHTGRAY='\e[0;37m'
DARKGRAY='\e[1;30m'
LIGHTBLUE='\e[1;34m'
LIGHTGREEN='\e[1;32m'
LIGHTCYAN='\e[1;36m'
LIGHTRED='\e[1;31m'
LIGHTPURPLE='\e[1;35m'
YELLOW='\e[1;33m'
WHITE='\e[1;37m'
NC='\e[0m'
# No Color
La variable $USER est appelée pour indiquer le nom de l’utilisateur avec
lequel nous sommes authentifié dans le système.
Bonjour, xtbushido. La forme ?
Date = indique la date :
Nous sommes le:samedi 11 juin 2016, 17:36:30 (UTC+0200)
uname -sr == indication sur le système et le kernel
Kernel Information:Linux 4.0.0-kali1-amd64
uptime= indique l’heure, le temps d’activité du systèmes, le nombre
d’utilisateurs ainsi que la « charge » système.
17:36:30 up 20:17, 4 users, load average: 0,12, 0,20, 0,21
Le prompt
Le prompt est juste cette partie , également personnalisée.
Le PS1 est le prompt personnalisé
PS1="\e[1;32m\O/ \e[1;33m[\[\e[1;33m\]\u@\e[1;31m\h\[\e[m\]\e[1;33m]\e[1;34m-\e[1;37m[\e[1;34m\w\\e[1;37m]\e[1;34m-[\$
(date +%k:%M)]-->\n\e[0;37m>~ "
# black, cyan, blue, black, w/black output (2-tier)
Le petit bonhomme tout content (moi) est indiqué comme ceci :
\e[1;32m=(le code couleur) \O/=(les caractères)
le username et le host :
\e[1;33m[\[\e[1;33m\]\u@\e[1;31m\h\[\e[m\]\e[1;33m]
[email protected]
25/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
Il faut jouer avec le caractère d’échapement afin de pouvoir indiquer le
message que l’on souhaite et colorer les bonne partie avec la bonne
couleur, on découvre au fur et à mesure des tentatives.
Pratique
•
ctrl+a= aller en début de ligne
•
ctrl+e=aller en fin de ligne
•
ctrl+l=efface le contenu du terminal
•
ctrl+u=efface la ligne jusqu’au début
•
ctrl+k=efface la ligne jusqu’à la fin
[email protected]
26/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
Commande
date=indique la date précisément chez moi
%(date +%k:%M) n’indiquera que l’heure et les minutes
>~ date +%k:%M
17:47
pwd= « print work directory » in dique ou l’on se situe
>~ pwd
/home/xtbushido
whoami=indique le user actuel
who=indique qui est logé, sur quel terminal, ainsi que le type de terminal.
>~ who
xtbushido pts/1
xtbushido pts/2
2016-06-11 13:38 (:0.0)
2016-06-11 17:17 (:0.0)
Pts/1 est celui qui est utilisé au lancement de la machine
pts/2 est celui qui est ouvert pour entrer la commandes
>~ who
xtbushido pts/1
xtbushido pts/2
xtbushido tty4
2016-06-11 13:38 (:0.0)
2016-06-11 17:17 (:0.0)
2016-06-11 17:20
tty4 est la console ctrl+F4 sur laquel j’ai basculé. Tty signfie
TéléTypeWriter.
Echo
Echo permet d’afficher du texte, comme pour le MOTD (Message Of The
Day).
Le guillemets « « ou les apostrophes ‘’ servent à délimiter du texte.
Manipulation de fichiers
Déplacement
[email protected]
27/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
Man-page
Au sujet des man-pages : RTFM
Les systèmes Gnu/Linux dispose de pages de manuel, nous avons donc
installé les man-pages en français, ainsi qu’un lecteur avec coloration, il
n’y a aucune raison de ne pas les lire.
>~man man
Ici le man-page du man, c’est bien pratique.
[email protected]
28/29
Ludovic MARCHAL
Formation : TSGERI
Session 2015/2016
Base de données
Nous trouverons régulièrement db ; ou DB pour signifier
Base de Données.
SGBDR= Système de Gestion de Base de Données Relationnelle
SQL
NoSQL=Not Only SQL
[email protected]
29/29