Étiquette : passwd

19 août 2018 /

Pour sécuriser l’accès à l’édition du Grub et le démarrage de la distribution GNU/linux, nous allons voir comment paramétrer Grub pour qu’un login et un mot de passe soit systématiquement demandé au démarrage.

Création d’un mot de passe chiffré
grub-mkpasswd-pbkdf2

Après vous avoir demandé un mot de passe, il vous retournera son hachage:

Le hachage PBKDF2 du mot de passe est grub.pbkdf2.sha512.10000.3B267CE5F2E6451530863695C434B6388DE36E5FBDB7619F21A956F4ED98D907A082306EDC6FD56CF7B879BBA86BE03F141723579ABC9F4D3CF2C39265D1B81A.757509B33EC2C5F693C674FB9420360597B2736730CE9EE008A71BABC32A920950DA15A27C2FE96E1F950CC65E7A75B2636F92059F70EA5F0ADB4FBB15935AC8

Édition du fichier /etc/grub.d/00_header
sudo vi /etc/grub.d/00_header

On ajoute à la fin du fichier ces 4 lignes, en déclarant le login que l’on souhaite ainsi que le hachage généré au début:

cat << EOF
set superusers="starmate"
password_pbkdf2 starmate grub.pbkdf2.sha512.10000.3B267C5F2C39265D1B81A57509B33EC2C5F...
EOF

Recontruction du grub.cfg
sudo update-grub

Il n’y a plus qu’a redémarrer (attention, votre clavier sera probablement en QWERTY lors de la demande du mot de passe)!

3 août 2017 /

Désactiver l’expiration du mot de passe et effacer l’historique des mots de passe pour une appliance VMware.

chage -M -1 root; echo "" > /etc/security/opasswd

19 octobre 2016 /

Voici méthode qui consiste à démarrer non pas init comme premier processus, mais un shell.

Tout d’abord, au démarrage, quand le menu de grub apparaît (appuyez sur echap si il n’apparaît pas), sélectionnez la ligne de boot sur lequel le système démarre habituellement:

screenshot_centos7-0_starmate_2016-10-15_191840

On va maintenant modifier la ligne de démarrage du système en appuyant sur la touche « e« :

screenshot_centos7-0_starmate_2016-10-15_192623

Sur la ligne commençant par « linux16 /vmlinux….. », nous allons ajouter à la fin « init=/bin/sh » et supprimer « rhgb quiet » :

screenshot_centos7-0_starmate_2016-10-15_194047

On valide les paramètres et on boot en appuyant sur les touches « Ctrl-x » ou bien avec la touche F10.

On arrive très vite dans un shell simple sans mot de passe et avec les droits root:

screenshot_centos7-0_starmate_2016-10-15_193200

On va tout d’abord charger la politique SELinux existante avec cette commande (le -i correspond à « initial policy load ») :

/usr/sbin/load_policy -i

Ensuite, on va remonter « / » en lecture-écriture car il est monté en lecture seule :

mount -o remount,rw /

On peut maintenant passer à la modification du mot de passe root :

passwd root

On ré-étiquette le système (SELinux) pour le prochain redémarrage :

touch /.autorelabel

Il ne reste plus qu’a redémarrer votre CentOS7/RedHat7 pour avoir vous connecter avec le nouveau mot de passe:

exec /sbin/init

5 mai 2016 /

Si vous tombez sur cette erreur:

mysql> create database nom_utilisateur;

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

Pour la résoudre, il suffit de définir un password à l’utilisateur (ici root) qui sert d’opérateur :

mysql

set password for root@'localhost' = PASSWORD('nouveau_passwd');

 

1 mars 2016 /

Voici un petit mémo pour créer un utilisateur et son mot de passe sur une ligne de commande.

Pour créer l’utilisateur starmate et lui mettre azerty en mot de passe (en root sur RedHat et dérivés):

useradd starmate ; echo azerty | passwd --stdin starmate

Pour Debian/Ubuntu et ses dérivés, toujours en root (le \n fait un retour à la ligne):

useradd starmate ; echo -e "azerty\nazerty" | passwd starmate

Et sinon, cette commande marche partout (toujours en root):

useradd starmate ; echo 'starmate:azerty' | chpasswd

Du coup pour créer plusieurs utilisateurs et leur mot de passe sur la même ligne, en root (RedHat):

useradd starmate ; echo azerty | passwd --stdin starmate ; useradd antoine ; echo azerty | passwd --stdin antoine ; useradd francois ; echo azerty | passwd --stdin francois ; useradd pierre ; echo azerty | passwd --stdin pierre

Pour créer un utilisateur et son un mot de passe sur 100 serveurs RedHat allant de 10.16.54.1 à 10.16.54.100:

for ((i=1;i<=100;i++)); do ssh root@10.16.54.$i 'useradd starmate ; echo azerty | passwd --stdin starmate'; done

La même chose pour 100 serveurs Debian/Ubuntu:

for ((i=1;i<=100;i++)); do ssh root@10.16.54.$i 'useradd starmate ; echo -e "azerty\nazerty" | passwd starmate'; done

Pour créer un utilisateur et son un mot de passe sur 2 serveurs RedHat et 2 serveurs Debian:

for i in redhat1 redhat2 debian1 ubuntu1 ;  do ssh root@$i 'useradd starmate ; echo 'starmate:azerty' | chpasswd'; done

Dernier exemple pour des serveurs RedHat renseignés dans un fichier (1 par ligne):

for i in `cat serveurs.txt`; do ssh root@$i 'echo -e "useradd starmate ; echo azerty | passwd --stdin starmate'; done

Du coup, faites attention à votre historique, les mots de passe y seront affichés en clair.