J'ai un nom d'utilisateur et une clé SSH pour un gars (hypothétique) et je dois lui donner un accès administrateur à un serveur Linux (Ubuntu).
Je veux qu'il puisse se connecter via SSH, puis définir lui-même son mot de passe via une connexion sécurisée, au lieu de passer le mot de passe.
Je sais comment faire expirer le mot de passe et le forcer à le réinitialiser lors de la première connexion. Mais cela ne fonctionne que s'il a déjà un mot de passe, que je dois lui dire.
J'ai pensé à rendre le mot de passe vide - SSH n'autoriserait pas la connexion, mais n'importe qui peut su
entrer dans l'utilisateur.
Ma question est la suivante: existe-t-il une meilleure pratique pour créer des comptes de cette manière? Ou la définition d'un mot de passe par défaut est inévitable?
sudo
, n'est-ce pas?USERNAME = NOPASSWD: /usr/local/bin/pwreset.sh
in/etc/sudoers
et le scriptpwreset.sh
exécutant la commande,/usr/bin/passwd USERNAME
il n'aura pas besoin de mot de passe pour (re) définir son propre mot de passe.Il suffit de mettre un fichier texte avec le mot de passe à l'intérieur du domicile des utilisateurs avec des droits 600. L'utilisateur se connecte avec la clé change le mot de passe et supprime le fichier. Avec un skript avec un ensemble de bits suid, vous pouvez même créer quelque chose comme passwd <fichier texte sans donner à l'utilisateur le droit de lire le fichier (les droits seraient 060 avec group = root)
la source
La définition d'un mot de passe par défaut est inévitable. Ma procédure serait:
1) générer un mot de passe aléatoire sécurisé (différent pour chaque utilisateur). J'utilise le générateur de mot de passe dans les paramètres du compte OSX mais vous pouvez utiliser un site Web tel que http://strongpasswordgenerator.com
2) Fournissez-leur le mot de passe en toute sécurité, par exemple en personne ou via http://www.privnote.com
3) Forcer une réinitialisation lors de la première connexion comme vous savez déjà le faire
la source