This commit is contained in:
“Louis 2022-04-07 11:01:51 +02:00
commit cf5a0c494f
28 changed files with 679 additions and 0 deletions

2
Sio1/AP22/restorebase Executable file
View File

@ -0,0 +1,2 @@
#!/bin/bash
zcat latest.sql.gz|ssh root@ap22 "mysql -u gsbadm -pgsbadm gsbvisite"

5
Sio1/AP22/svbase Executable file
View File

@ -0,0 +1,5 @@
#!/bin/bash
DAT=$(date "+%u")
ssh root@ap22 "mysqldump -u gsbadm -pgsbadm gsbvisite | gzip" > gsbvisite-$DAT.sql.gz
cp gsbvisite-$DAT.sql.gz latest.sql.gz

View File

@ -0,0 +1,20 @@
;
; BIND data file for local loopback interface
;
$TTL 604800
domaine.lan. IN SOA srv1.domaine.lan. root.srv1.domaine.lan. (
2022020100 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS srv1.domaine.lan.
srv1 IN A 192.168.0.110
@ IN NS srv2.domaine.lan.
srv2 IN A 192.168.0.114
;@ IN AAAA ::1
poste1 IN A 192.168.0.111
poste2 IN A 192.168.0.112
www2 IN CNAME poste1

View File

@ -0,0 +1,14 @@
$TTL 38400 ; 10 hours 40 minutes
@ IN SOA srv1.domaine.lan. root.srv1.domaine.lan. (
2022020100 ; serial
10800 ; refresh (3 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
38400 ; minimum (10 hours 40 minutes)
)
IN NS srv1.domaine.lan.
IN NS srv2.domaine.lan.
110 IN PTR srv1.domaine.lan.
111 IN PTR xp.domaine.lan.
114 IN PTR srv2.domaine.lan.

View File

@ -0,0 +1,11 @@
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

View File

@ -0,0 +1,20 @@
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
// zone directe
zone "domaine.lan" {
type master;
file "/etc/bind/db.domaine.lan";
};
// zone inverse
zone "0.168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.domaine.lan.rev";
};

View File

@ -0,0 +1,3 @@
domain domaine.lan
search domaine.lan
nameserver 127.0.0.1

View File

@ -0,0 +1,12 @@
#!/bin/bash
IFEXT=enp0s3
IFDMZ=enp0s8
IFINT=enp0s9
# ici instruction pour activer le routage
sysctl -w net.ipv4.ip_forward=1
# ici instructions pour definir les stratégies par defaut (etape 1)
# ici instructions pour remettre a zero les chaines filter et nat (etape 1)

View File

@ -0,0 +1,21 @@
#!/bin/bash
IFEXT=enp0s3
IFDMZ=enp0s8
IFINT=enp0s9
# ici instruction pour activer le routage
sysctl -w net.ipv4.ip_forward=1
# ici instructions pour definir les stratégies par defaut (etape 1)
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT DROP
sudo iptables -P FORWARD DROP
# ici instructions pour remettre a zero les chaines filter et nat (etape 1)
sudo iptables -F -t nat
sudo iptables -F -t filter
# autorise le loopback
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT

View File

@ -0,0 +1,28 @@
#!/bin/bash
set -e
set -u
IFEXT=enp0s3
IFDMZ=enp0s8
IFINT=enp0s9
# ici instruction pour activer le routage
sysctl -w net.ipv4.ip_forward=1
# ici instructions pour definir les stratégies par defaut (etape 1)
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT DROP
sudo iptables -P FORWARD DROP
# ici instructions pour remettre a zero les chaines filter et nat (etape 1)
sudo iptables -F -t nat
sudo iptables -F -t filter
# autorise le loopback
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
# Connection ssh
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT #entrée
sudo iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT #sortie

View File

@ -0,0 +1,36 @@
#!/bin/bash
set -e
set -u
IFEXT=enp0s3
IFDMZ=enp0s8
IFINT=enp0s9
# ici instruction pour activer le routage
sysctl -w net.ipv4.ip_forward=1
# ici instructions pour definir les stratégies par defaut (etape 1)
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT DROP
sudo iptables -P FORWARD DROP
# ici instructions pour remettre a zero les chaines filter et nat (etape 1)
sudo iptables -F -t nat
sudo iptables -F -t filter
# Loopback
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
# Connexion ssh serveur
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT #entrée
sudo iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT #sortie
# Requete DNS client
sudo iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
sudo iptables -A INPUT -p udp --sport 53 -j ACCEPT
# Acces HTTP client
sudo iptables -A OUTPUT -p udp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p udp --sport 80 -j ACCEPT

View File

@ -0,0 +1,41 @@
#!/bin/bash
set -e
set -u
IFEXT=enp0s3
IFDMZ=enp0s8
IFINT=enp0s9
# ici instruction pour activer le routage
sysctl -w net.ipv4.ip_forward=1
# ici instructions pour definir les stratégies par defaut (etape 1)
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT DROP
sudo iptables -P FORWARD DROP
# ici instructions pour remettre a zero les chaines filter et nat (etape 1)
sudo iptables -F -t nat
sudo iptables -F -t filter
# Loopback
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
# Connexion ssh serveur
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT #entrée
sudo iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT #sortie
# Requete DNS client
sudo iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
sudo iptables -A INPUT -p udp --sport 53 -j ACCEPT
# Acces HTTP client
sudo iptables -A OUTPUT -p udp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p udp --sport 80 -j ACCEPT
# NAT sur la carte exterieur (pouvoir curl une machine de l'autre coter)
sudo iptables -t nat -A POSTROUTING -o "${IFEXT}" -j MASQUERADE -s 10.0.0.0/16
#sudo iptables -L -t nat # pour controler
sudo iptables -A FORWARD -j ACCEPT

View File

@ -0,0 +1,46 @@
#!/bin/bash
set -e
set -u
IFEXT=enp0s3
IFDMZ=enp0s8
IFINT=enp0s9
# ici instruction pour activer le routage
sysctl -w net.ipv4.ip_forward=1
# ici instructions pour definir les stratégies par defaut (etape 1)
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT DROP
sudo iptables -P FORWARD DROP
# ici instructions pour remettre a zero les chaines filter et nat (etape 1)
sudo iptables -F -t nat
sudo iptables -F -t filter
# Loopback
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
# Connexion ssh serveur
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT #entrée
sudo iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT #sortie
# Requete DNS client
sudo iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
sudo iptables -A INPUT -p udp --sport 53 -j ACCEPT
# Acces HTTP client
sudo iptables -A OUTPUT -p udp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p udp --sport 80 -j ACCEPT
# NAT sur la carte exterieur (pouvoir curl une machine de l'autre coter)
sudo iptables -t nat -A POSTROUTING -o "${IFEXT}" -j MASQUERADE -s 10.0.0.0/16
sudo iptables -t nat -A POSTROUTING -o "${IFEXT}" -j MASQUERADE -s 172.16.0.0/16
#sudo iptables -L -t nat # pour controler
sudo iptables -A FORWARD -j ACCEPT
# Acces DNS sortante
sudo iptables -A FORWARD -p udp --dport 53 -j ACCEPT
sudo iptables -A FORWARD -p udp --sport 53 -j ACCEPT

View File

@ -0,0 +1,157 @@
Script démarré sur 2022-03-29 10:18:18+02:00 [TERM="xterm-256color" TTY="/dev/pts/0" COLUMNS="90" LINES="33"]
[?2004hroot@TestBashShell:~/test# ls
[?2004l CompteRenduBash crsamba4 crsamba8 rsamba users2.txt.pwd
crsamba1 crsamba5 crsambaFini SioTP users.txt
crsamba2 crsamba7 present users2.txt users.txt.pwd
[?2004hroot@TestBashShell:~/test# nano users.txt
[?2004l [?2004h[?1049h(B[?7h[?1h=[?1h=[?25l(B(B[ Lecture... ](B(B[ Lecture de 4 lignes ](B(B GNU nano 5.4 users.txt (B (B^G(B Aide(B^O(B Écrire(B^W(B Chercher (B^K(B Couper(B^T(B Exécuter (B^C(B Emplacement (B^X(B Quitter (B^R(B Lire fich. (B^\(B Remplacer (B^U(B Coller(B^J(B Justifier (B^_(B Aller ligne lucien:Lucien Dubois claudine:Claudine Dupont robert:Robert Dupond marcelle:Marcelle Parde [?12l[?25h[?25l[?12l[?25h[?1049l [?1l>[?2004l[?2004hroot@TestBashShell:~/test# nano users.txt2.txt
[?2004l [?2004h[?1049h(B[?7h[?1h=[?1h=[?25l(B(B[ Lecture... ](B(B[ Lecture de 10 lignes ](B(B GNU nano 5.4 users2.txt (B (B^G(B Aide(B^O(B Écrire(B^W(B Chercher (B^K(B Couper(B^T(B Exécuter (B^C(B Emplacement (B^X(B Quitter (B^R(B Lire fich. (B^\(B Remplacer (B^U(B Coller(B^J(B Justifier (B^_(B Aller ligne # Salut (Blucien:Lucien Dubois #-_-_-_-_-_-_-_-_-_-_-_- (Bclaudine:Claudine Dupont robert:Robert Dupond # , j (Bmarcelle:Marcelle Parde [?12l[?25h[?25l[?12l[?25h[?1049l [?1l>[?2004l[?2004hroot@TestBashShell:~/test# ./crsambaFini users.txt
[?2004l ./crsambaFini : utilisateur lucien existe deja
./crsambaFini : utilisateur claudine existe deja
./crsambaFini : utilisateur robert existe deja
./crsambaFini : utilisateur marcelle existe deja
[?2004hroot@TestBashShell:~/test# /../rsamba users.txt
[?2004l Utilisateur lucien supprime
Utilisateur claudine supprime
Utilisateur robert supprime
Utilisateur marcelle supprime
[?2004hroot@TestBashShell:~/test# ./rsamba users.txt[5@crsambaFini
[?2004l [?2004hroot@TestBashShell:~/test# getent shadow
[?2004l root:$y$j9T$TIAC5HDqvZSDu2CnCrCXV/$7rE1hZJr4Q4SyNu80hF9dbsNPHZBFjjsh0wxJnbZRI5:18873:0:99999:7:::
daemon:*:18872:0:99999:7:::
bin:*:18872:0:99999:7:::
sys:*:18872:0:99999:7:::
sync:*:18872:0:99999:7:::
games:*:18872:0:99999:7:::
man:*:18872:0:99999:7:::
lp:*:18872:0:99999:7:::
mail:*:18872:0:99999:7:::
news:*:18872:0:99999:7:::
uucp:*:18872:0:99999:7:::
proxy:*:18872:0:99999:7:::
www-data:*:18872:0:99999:7:::
backup:*:18872:0:99999:7:::
list:*:18872:0:99999:7:::
irc:*:18872:0:99999:7:::
gnats:*:18872:0:99999:7:::
nobody:*:18872:0:99999:7:::
_apt:*:18872:0:99999:7:::
systemd-timesync:*:18872:0:99999:7:::
systemd-network:*:18872:0:99999:7:::
systemd-resolve:*:18872:0:99999:7:::
messagebus:*:18873:0:99999:7:::
sshd:*:18873:0:99999:7:::
sio:$y$j9T$fhaQDQy5GkvNeuyxnf/Yg1$IrtSwszDRZ9g75BMk1wgcGfMPKMI6jQOD32pWNkSMV1:18873:0:99999:7:::
systemd-coredump:!*:18873::::::
lucien:$y$j9T$ZeC2TVITWi1AFpWvu3ylC0$CpoURwx6PVIzZv0bnRoKWYcnOn/t7whgwMV2PFgV/n7:19080:0:99999:7:::
claudine:$y$j9T$S.6tFvH9ipa06FfPCDT.w.$AaGIJ8b140oWbKnGoYyIux4VjdYFhTReqWKRlthK7h6:19080:0:99999:7:::
robert:$y$j9T$MkZBUpoUJbITG09pSIQrd/$rq.YwB083tDKS9Xl6SxOinfcbLenhOHJVFyujPS7gY6:19080:0:99999:7:::
marcelle:$y$j9T$Uzp89MzZ84TUx6XpEKmrJ0$AHeUnn5UsTmphkHdi3N/n16fcVYZvnvQpyRfnl.AMC4:19080:0:99999:7:::
[?2004hroot@TestBashShell:~/test# getent shadow./crsambaFini users.txtrsamba
[?2004l Utilisateur lucien supprime
Utilisateur claudine supprime
Utilisateur robert supprime
Utilisateur marcelle supprime
[?2004hroot@TestBashShell:~/test# ./rsamba users.txtgetent shadow
[?2004l root:$y$j9T$TIAC5HDqvZSDu2CnCrCXV/$7rE1hZJr4Q4SyNu80hF9dbsNPHZBFjjsh0wxJnbZRI5:18873:0:99999:7:::
daemon:*:18872:0:99999:7:::
bin:*:18872:0:99999:7:::
sys:*:18872:0:99999:7:::
sync:*:18872:0:99999:7:::
games:*:18872:0:99999:7:::
man:*:18872:0:99999:7:::
lp:*:18872:0:99999:7:::
mail:*:18872:0:99999:7:::
news:*:18872:0:99999:7:::
uucp:*:18872:0:99999:7:::
proxy:*:18872:0:99999:7:::
www-data:*:18872:0:99999:7:::
backup:*:18872:0:99999:7:::
list:*:18872:0:99999:7:::
irc:*:18872:0:99999:7:::
gnats:*:18872:0:99999:7:::
nobody:*:18872:0:99999:7:::
_apt:*:18872:0:99999:7:::
systemd-timesync:*:18872:0:99999:7:::
systemd-network:*:18872:0:99999:7:::
systemd-resolve:*:18872:0:99999:7:::
messagebus:*:18873:0:99999:7:::
sshd:*:18873:0:99999:7:::
sio:$y$j9T$fhaQDQy5GkvNeuyxnf/Yg1$IrtSwszDRZ9g75BMk1wgcGfMPKMI6jQOD32pWNkSMV1:18873:0:99999:7:::
systemd-coredump:!*:18873::::::
[?2004hroot@TestBashShell:~/test# getent shadow./rsamba users.txtgetent shadow./crsambaFini users.txtrsamba[5@crsambaFini2.txt
[?2004l [?2004hroot@TestBashShell:~/test# ./crsambaFini users2.txtgetent shadow
[?2004l root:$y$j9T$TIAC5HDqvZSDu2CnCrCXV/$7rE1hZJr4Q4SyNu80hF9dbsNPHZBFjjsh0wxJnbZRI5:18873:0:99999:7:::
daemon:*:18872:0:99999:7:::
bin:*:18872:0:99999:7:::
sys:*:18872:0:99999:7:::
sync:*:18872:0:99999:7:::
games:*:18872:0:99999:7:::
man:*:18872:0:99999:7:::
lp:*:18872:0:99999:7:::
mail:*:18872:0:99999:7:::
news:*:18872:0:99999:7:::
uucp:*:18872:0:99999:7:::
proxy:*:18872:0:99999:7:::
www-data:*:18872:0:99999:7:::
backup:*:18872:0:99999:7:::
list:*:18872:0:99999:7:::
irc:*:18872:0:99999:7:::
gnats:*:18872:0:99999:7:::
nobody:*:18872:0:99999:7:::
_apt:*:18872:0:99999:7:::
systemd-timesync:*:18872:0:99999:7:::
systemd-network:*:18872:0:99999:7:::
systemd-resolve:*:18872:0:99999:7:::
messagebus:*:18873:0:99999:7:::
sshd:*:18873:0:99999:7:::
sio:$y$j9T$fhaQDQy5GkvNeuyxnf/Yg1$IrtSwszDRZ9g75BMk1wgcGfMPKMI6jQOD32pWNkSMV1:18873:0:99999:7:::
systemd-coredump:!*:18873::::::
lucien:$y$j9T$/w5UzDIy4Ya9jSySl6mPn.$I59QPyDLLGXu0USyvHgqgoJlF/rcjcAYOWxVO703Hq5:19080:0:99999:7:::
claudine:$y$j9T$UyQDXKp5P6mbHgKqJeYC41$LqUl1NewksM4aOZgnFMPPhMpd/hFKfPa9ByhnMHgfND:19080:0:99999:7:::
robert:$y$j9T$Vwc34rv0bYLl56bB1iplP0$Cu4dYpt9MUugy8M.0kYlwa5skwR8qnDbPqpIzYVjra7:19080:0:99999:7:::
marcelle:$y$j9T$hEIMX3JYqvmkpUKHs9Z4O.$wFWYxPGAK2GNDLw9NYffNeWG2s4bPMFvkFgSzf4xLo2:19080:0:99999:7:::
[?2004hroot@TestBashShell:~/test# getent shadow./crsambaFini users2.txtgetent shadow./rsamba users.txt2.txt
[?2004l Utilisateur lucien supprime
Utilisateur claudine supprime
Utilisateur robert supprime
Utilisateur marcelle supprime
[?2004hroot@TestBashShell:~/test# ./rsamba users2.txtgetent shadow
[?2004l root:$y$j9T$TIAC5HDqvZSDu2CnCrCXV/$7rE1hZJr4Q4SyNu80hF9dbsNPHZBFjjsh0wxJnbZRI5:18873:0:99999:7:::
daemon:*:18872:0:99999:7:::
bin:*:18872:0:99999:7:::
sys:*:18872:0:99999:7:::
sync:*:18872:0:99999:7:::
games:*:18872:0:99999:7:::
man:*:18872:0:99999:7:::
lp:*:18872:0:99999:7:::
mail:*:18872:0:99999:7:::
news:*:18872:0:99999:7:::
uucp:*:18872:0:99999:7:::
proxy:*:18872:0:99999:7:::
www-data:*:18872:0:99999:7:::
backup:*:18872:0:99999:7:::
list:*:18872:0:99999:7:::
irc:*:18872:0:99999:7:::
gnats:*:18872:0:99999:7:::
nobody:*:18872:0:99999:7:::
_apt:*:18872:0:99999:7:::
systemd-timesync:*:18872:0:99999:7:::
systemd-network:*:18872:0:99999:7:::
systemd-resolve:*:18872:0:99999:7:::
messagebus:*:18873:0:99999:7:::
sshd:*:18873:0:99999:7:::
sio:$y$j9T$fhaQDQy5GkvNeuyxnf/Yg1$IrtSwszDRZ9g75BMk1wgcGfMPKMI6jQOD32pWNkSMV1:18873:0:99999:7:::
systemd-coredump:!*:18873::::::
[?2004hroot@TestBashShell:~/test# nano crsambaFini
[?2004l [?2004h[?1049h(B[?7h[?1h=[?1h=[?25l(B(B[ Lecture... ](B(B[ Lecture de 34 lignes ](B(B GNU nano 5.4 crsambaFini (B (B^G(B Aide(B^O(B Écrire(B^W(B Chercher (B^K(B Couper(B^T(B Exécuter (B^C(B Emplacement (B^X(B Quitter (B^R(B Lire fich. (B^\(B Remplacer (B^U(B Coller(B^J(B Justifier (B^_(B Aller ligne #!/bin/bash #set -e #set -u if(B [[(B (B$#(B -ne(B 1 ]](B ;(B then(Becho(B (B"usage : $0 <fichier>"(B #nombre de paramètre != 1 on sort du programme.exit(B 1 fi if(B [[(B !(B -r(B (B"$1"(B ]](B ;(B then(Becho(B (B"$0 : erreur ouverture ${fich}"(B # erreur ouverture du fichier on sort du pro(B>(Bexit(B 2 fi (Bfich=(B$1 (Bwhile(B read(B ligne #lecture par ligne du fichier do(Becho(B (B"$ligne"(B |(B (Bgrep(B (B"^#"(B >>(B /dev/null &&(B continue #ignore les ligne commentes da(B>(B[[(B -z(B (B"$ligne"(B ]](B &&(B continue #ignore les lignes vides(Blogin=$((Becho(B (B"${ligne}"(B|(Bcut -d(B:(B -f1) #recuperation login(Bnom=$((Becho(B (B"${ligne}"(B|(Bcut -d(B:(B -f2) #recuperation nom long #echo (B"${login} ${nom}"(Bgetent passwd (B"${login}"(B >>(B /dev/nullif(B [[(B (B$?(B -ne(B 0 ]](B ;(B then # si utilisateur inexistant on peut creer(Bsudo useradd(B --create-home --home-dir(B /home/(B"${login}" --shell(B /bin/bash(B (B>(Bmdp=$((Bpwgen 6 1) # creation mot de passe #echo (B"${mdp}"echo(B (B"${login}:${mdp}"(B|(Bchpasswd #affectation mot de passe utilisateur (B[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l78
(Becho(B (B"${login}:${mdp}"(B >>(B (B"${fich}.pwd"(B #stocke mot de passe dans fichier (B[?12l[?25h[?25l78
else (B[?12l[?25h[?25l78
(Becho(B (B"$0 : utilisateur ${login} existe deja" (B[?12l[?25h[?25l78
fi (B[?12l[?25h[?25l78
done(B <(B (B$fich (B[?12l[?25h[?25l78
[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l [?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l [?12l[?25h[?25l[?12l[?25h[?25l [?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l [?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l [?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l [?12l[?25h[?25l0[?12l[?25h[?25l [?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l [?12l[?25h[?25l[?12l[?25h[?25l [?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l [?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25ls[?12l[?25h[?25lu[?12l[?25h[?25ld[?12l[?25h[?25lo[?12l[?25h[?25l [?12l[?25h[?25lu[?12l[?25h[?25ls[?12l[?25h[?25le[?12l[?25h[?25lr[?12l[?25h[?25la[?12l[?25h[?25ld[?12l[?25h[?25ld[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l [?12l[?25h[?25l/[?12l[?25h[?25lh[?12l[?25h[?25lo[?12l[?25h[?25lm[?12l[?25h[?25le[?12l[?25h[?25l/[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l [?12l[?25h[?25l/[?12l[?25h[?25lb[?12l[?25h[?25li[?12l[?25h[?25ln[?12l[?25h[?25l/[?12l[?25h[?25lb[?12l[?25h[?25la[?12l[?25h[?25ls[?12l[?25h[?25l (B<(B/bash(B --comment(B (B"${nom}"(B (B"${login}"(B # creation utilisateur(B[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l[?12l[?25h[?25l [?12l[?25h[?1049l [?1l>[?2004l[?2004hroot@TestBashShell:~/test# nano crsambaFini rsamba
[?2004l [?2004h[?1049h(B[?7h[?1h=[?1h=[?25l(B(B[ Lecture... ](B(B[ Lecture de 27 lignes ](B(B GNU nano 5.4 rsamba (B (B^G(B Aide(B^O(B Écrire(B^W(B Chercher (B^K(B Couper(B^T(B Exécuter (B^C(B Emplacement (B^X(B Quitter (B^R(B Lire fich. (B^\(B Remplacer (B^U(B Coller(B^J(B Justifier (B^_(B Aller ligne #!/bin/bash #set -e (Bset -u (Bif(B [[(B (B$#(B -ne(B 1 ]](B ;(B then(Becho(B (B"usage : $0 <fichier>"(Bexit(B 1 fi if(B [[(B !(B -r(B (B"$1"(B ]](B ;(B then(Becho(B (B"$0 : erreur ouverture ${fich}"(Bexit(B 2 fi (Bfich=(B$1 (Bwhile(B read(B -r(B ligne do(Blogin=$((Becho(B (B"${ligne}"(B|(Bcut -d(B:(B -f1)(Bgetent passwd (B"${login}"(B >(B /dev/nullif(B [[(B (B$?(B -eq(B 0 ]](B ;(B then((Bsudo userdel(B --remove(B (B"${login}"(B)(B >>(B /dev/null 2>(B/dev/null(Becho(B (B"Utilisateur ${login} supprime"(Bfi done(B <(B (B"${fich}" (B[?12l[?25h[?25l[?12l[?25h[?1049l [?1l>[?2004l[?2004hroot@TestBashShell:~/test# [?2004l
exit
Script terminé sur 2022-03-29 10:21:20+02:00 [COMMAND_EXIT_CODE="0"]

@ -0,0 +1 @@
Subproject commit b7be885670eb781eeb106008b185e7ff78be1c68

View File

@ -0,0 +1,10 @@
#!/bin/bash
set -e
set -u
fich=users.txt
while read ligne
do
echo "${ligne}"
done < $fich

View File

@ -0,0 +1,21 @@
#!/bin/bash
#set -e
#set -u
fich=$1
if [[ $# -ne 1 ]] ; then
echo "usage : $0 <fichier>"
exit 1
fi
if [[ ! -r "${fich}" ]] ; then
echo "$0 : erreur ouverture ${fich}"
exit 2
fi
while read ligne
do
echo "${ligne}"
done < $fich

View File

@ -0,0 +1,22 @@
#!/bin/bash
#set -e
#set -u
if [[ $# -ne 1 ]] ; then
echo "usage : $0 <fichier>"
exit 1
fi
if [[ ! -r "$1" ]] ; then
echo "$0 : erreur ouverture ${fich}"
exit 2
fi
fich=$1
while read ligne
do
echo "${ligne}"|cut -d: -f1
done < $fich

View File

@ -0,0 +1,30 @@
#!/bin/bash
#set -e
#set -u
if [[ $# -ne 1 ]] ; then
echo "usage : $0 <fichier>"
exit 1
fi
if [[ ! -r "$1" ]] ; then
echo "$0 : erreur ouverture ${fich}"
exit 2
fi
fich=$1
while read ligne
do
login=$(echo "${ligne}"|cut -d: -f1)
nom=$(echo "${ligne}"|cut -d: -f2)
#echo "${login} ${nom}"
getent passwd "${login}" >> /dev/null
if [[ $? -ne 0 ]] ; then
sudo useradd --create-home --home-dir /home/"${login}" --shell /bin/bash --comment "${nom}" "${login}"
else
echo "$0 : utilisateur ${login} existe deja"
fi
done < $fich

View File

@ -0,0 +1,33 @@
#!/bin/bash
#set -e
#set -u
if [[ $# -ne 1 ]] ; then
echo "usage : $0 <fichier>"
exit 1
fi
if [[ ! -r "$1" ]] ; then
echo "$0 : erreur ouverture ${fich}"
exit 2
fi
fich=$1
while read ligne
do
login=$(echo "${ligne}"|cut -d: -f1)
nom=$(echo "${ligne}"|cut -d: -f2)
#echo "${login} ${nom}"
getent passwd "${login}" >> /dev/null
if [[ $? -ne 0 ]] ; then
sudo useradd --create-home --home-dir /home/"${login}" --shell /bin/bash --comment "${nom}" "${login}"
mdp=$(pwgen 6 1)
#echo "${mdp}"
echo "${login}:${mdp}"|chpasswd
echo "${login}:${mdp}" >> "${fich}.pwd"
else
echo "$0 : utilisateur ${login} existe deja"
fi
done < $fich

View File

@ -0,0 +1,35 @@
#!/bin/bash
#set -e
#set -u
if [[ $# -ne 1 ]] ; then
echo "usage : $0 <fichier>"
exit 1
fi
if [[ ! -r "$1" ]] ; then
echo "$0 : erreur ouverture ${fich}"
exit 2
fi
fich=$1
while read ligne
do
echo "$ligne" | grep "^#" >> /dev/null && continue
[[ -z "$ligne" ]] && continue
login=$(echo "${ligne}"|cut -d: -f1)
nom=$(echo "${ligne}"|cut -d: -f2)
#echo "${login} ${nom}"
getent passwd "${login}" >> /dev/null
if [[ $? -ne 0 ]] ; then
sudo useradd --create-home --home-dir /home/"${login}" --shell /bin/bash --comment "${nom}" "${login}"
mdp=$(pwgen 6 1)
#echo "${mdp}"
echo "${login}:${mdp}"|chpasswd
echo "${login}:${mdp}" >> "${fich}.pwd"
else
echo "$0 : utilisateur ${login} existe deja"
fi
done < $fich

View File

@ -0,0 +1,34 @@
#!/bin/bash
#set -e
#set -u
if [[ $# -ne 1 ]] ; then
echo "usage : $0 <fichier>" #nombre de paramètre != 1 on sort du programme.
exit 1
fi
if [[ ! -r "$1" ]] ; then
echo "$0 : erreur ouverture ${fich}" # erreur ouverture du fichier on sort du programme.
exit 2
fi
fich=$1
while read ligne #lecture par ligne du fichier
do
echo "$ligne" | grep "^#" >> /dev/null && continue #ignore les ligne commentes dans le fichier
[[ -z "$ligne" ]] && continue #ignore les lignes vides
login=$(echo "${ligne}"|cut -d: -f1) #recuperation login
nom=$(echo "${ligne}"|cut -d: -f2) #recuperation nom long
#echo "${login} ${nom}"
getent passwd "${login}" >> /dev/null
if [[ $? -ne 0 ]] ; then # si utilisateur inexistant on peut creer
sudo useradd --create-home --home-dir /home/"${login}" --shell /bin/bash --comment "${nom}" "${login}" # creation utilisateur
mdp=$(pwgen 6 1) # creation mot de passe
#echo "${mdp}"
echo "${login}:${mdp}"|chpasswd #affectation mot de passe utilisateur
echo "${login}:${mdp}" >> "${fich}.pwd" #stocke mot de passe dans fichier
else
echo "$0 : utilisateur ${login} existe deja"
fi
done < $fich

View File

@ -0,0 +1,12 @@
#!/bin/bash
#set -e
set -u
qui=$1
who |grep "^${qui}" >> /dev/null
if [[ $? -eq 0 ]] ; then
echo "${qui} est connecte"
else
echo "${qui} n'est pas connecte"
fi
exit 0

View File

@ -0,0 +1,27 @@
#!/bin/bash
#set -e
set -u
if [[ $# -ne 1 ]] ; then
echo "usage : $0 <fichier>"
exit 1
fi
if [[ ! -r "$1" ]] ; then
echo "$0 : erreur ouverture ${fich}"
exit 2
fi
fich=$1
while read -r ligne
do
login=$(echo "${ligne}"|cut -d: -f1)
getent passwd "${login}" > /dev/null
if [[ $? -eq 0 ]] ; then
sudo userdel --remove "${login}"
echo "Utilisateur ${login} supprime"
fi
done < "${fich}"

View File

@ -0,0 +1,4 @@
lucien:Lucien Dubois
claudine:Claudine Dupont
robert:Robert Dupond
marcelle:Marcelle Parde

View File

@ -0,0 +1,8 @@
lucien:naid0O
claudine:ooC8oh
robert:Ax0aiy
marcelle:iv7Oot
lucien:Mie8sh
claudine:loHe1t
robert:Phoo5i
marcelle:WuaL5i

View File

@ -0,0 +1,10 @@
# Salut
lucien:Lucien Dubois
#-_-_-_-_-_-_-_-_-_-_-_-
claudine:Claudine Dupont
robert:Robert Dupond
# , j
marcelle:Marcelle Parde

View File

@ -0,0 +1,16 @@
lucien:oi6ooG
claudine:Aru6Vi
robert:ooGa5c
marcelle:lau7Eu
lucien:ca2liJ
claudine:Quoo6o
robert:LooKi9
marcelle:Iegh3b
lucien:Wah4fu
claudine:Yae3th
robert:phi1Is
marcelle:Bip8Sh
lucien:ja1EeS
claudine:za1voG
robert:UMieM3
marcelle:Emix6X