diff --git a/Sio1/SISR1/40-BashEtShell/CompteRenduBash b/Sio1/SISR1/40-BashEtShell/CompteRenduBash new file mode 100644 index 0000000..e49ea8d --- /dev/null +++ b/Sio1/SISR1/40-BashEtShell/CompteRenduBash @@ -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 "(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 "(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"]