tech:draft-oops-j-ai-fait-un-boulette
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| tech:draft-oops-j-ai-fait-un-boulette [2025/03/24 15:06] – créée - modification externe 127.0.0.1 | tech:draft-oops-j-ai-fait-un-boulette [2026/06/07 19:12] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | < | ||
| + | {{tag> | ||
| + | |||
| + | # DRAFT Oops j'ai fait un boulette | ||
| + | |||
| + | ### Exemple de connerie 1 | ||
| + | |||
| + | ~~~bash | ||
| + | chown -R oracle:dba / | ||
| + | ~~~ | ||
| + | |||
| + | Comment la retrapper (en ajustant ctime & mtime par les valeurs qu'il est possible de trouver avec la commande stat) : | ||
| + | |||
| + | |||
| + | Pour info : Différence en CTIME *(change time)* et MTIME *(modification time)* | ||
| + | Voir aussi `man ls` `[--time={atime, | ||
| + | |||
| + | ~~~ | ||
| + | $ cat foo | ||
| + | Hello, World | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | Met à jour atime (access time), mais pas ctime (change time) ni mtime (modification time) | ||
| + | |||
| + | ~~~bash | ||
| + | chmod 777 foo | ||
| + | ~~~ | ||
| + | |||
| + | Met à jour ctime mais pas atime ni mtime. Car le fichier n'est pas modifié, seulement les métadonnées (droits) | ||
| + | |||
| + | |||
| + | ~~~bash | ||
| + | echo " | ||
| + | ~~~ | ||
| + | |||
| + | Met à jour ctime et mtime mais pas atime. | ||
| + | |||
| + | |||
| + | |||
| + | **Machine de référence** | ||
| + | |||
| + | |||
| + | ~~~bash | ||
| + | find / ! -wholename "/ | ||
| + | find / ! -wholename "/ | ||
| + | find / ! -wholename "/ | ||
| + | find / ! -wholename "/ | ||
| + | find / ! -wholename "/ | ||
| + | find / ! -wholename "/ | ||
| + | ~~~ | ||
| + | |||
| + | **Machine à corriger** | ||
| + | |||
| + | |||
| + | ~~~bash | ||
| + | bash jbset_f.sh 2> | ||
| + | bash jbset_d.sh 2> | ||
| + | bash jbset_l.sh 2> | ||
| + | bash jbset_o.sh 2> | ||
| + | ~~~ | ||
| + | |||
| + | On repositionne les SUID & GUID. | ||
| + | |||
| + | |||
| + | ~~~bash | ||
| + | bash jbset_suid.sh 2> | ||
| + | bash jbset_guid.sh 2> | ||
| + | ~~~ | ||
| + | |||
| + | On jete un petit coup d'oeil sur les logs | ||
| + | |||
| + | |||
| + | ~~~bash | ||
| + | cat *.err |grep -v "No such file or directory" | ||
| + | ~~~ | ||
| + | |||
| + | Fichiers restants à modifier | ||
| + | |||
| + | ~~~bash | ||
| + | find / -ctime -1 -mtime +2 -user oracle -group dba | ||
| + | ~~~ | ||
| + | |||
| + | Root propriétaire des fichiers restants | ||
| + | |||
| + | ~~~bash | ||
| + | find / -ctime -1 -mtime +2 -user oracle -group dba -type f ! -iname " | ||
| + | find / -ctime -1 -mtime +2 -user oracle -group dba -type d ! -iname " | ||
| + | find / -ctime -1 -mtime +2 -user oracle -group dba -type l ! -iname " | ||
| + | ~~~ | ||
| + | |||
| + | On jete un coup d'oeil : | ||
| + | |||
| + | ~~~bash | ||
| + | find / -user oracle -group dba |grep -iv oracle | ||
| + | ~~~ | ||
| + | |||
| + | Un reboot est nécessaire pour les devices de type char/ | ||
| + | |||
| + | Il faudra (peut-être) redéfinir les droits Oracle tel que initialement prévu. | ||
| + | |||
| + | |||
| + | ### Exemple de connerie 2 | ||
| + | |||
| + | ~~~bash | ||
| + | chmod -R 777 /etc | ||
| + | ~~~ | ||
| + | |||
| + | Comment la rattraper : | ||
| + | |||
| + | ~~~bash | ||
| + | find /etc/ ! -type l ! -type d -exec ls -l {} \;|awk ' | ||
| + | { u=substr($1, | ||
| + | g=substr($1, | ||
| + | o=substr($1, | ||
| + | print "chmod u=" | ||
| + | }' >/ | ||
| + | |||
| + | find /etc/ -type d -exec ls -ld {} \;|awk ' | ||
| + | { u=substr($1, | ||
| + | g=substr($1, | ||
| + | o=substr($1, | ||
| + | print "chmod u=" | ||
| + | }' >>/ | ||
| + | ~~~ | ||
| + | |||
