pouvons-nous connaître le mot de passe pour les autres users si nous avons un access root?

Si une personne a un access root à une machine RHEL particulière, pourront-ils récupérer le mot de passe des autres users?

TL; DR: Non, le mot de passe est stocké sous forme de hachage qui ne peut en général pas être récupéré.

Linux ne stocke aucun mot de passe en text brut par défaut . Ils sont hachés ou autrement chiffrés à travers une variété d'algorithms. Donc, en général, non, ce n'est pas possible avec datatables stockées.

Si vous avez des passwords stockés ailleurs que dans la database /etc/passwd , ils peuvent être stockés de manière à permettre cela. htpasswd files htpasswd peuvent contenir des passwords chiffrés et d'autres applications peuvent stocker des hachages plus faibles ou des passwords en text brut pour diverses raisons (généralement mauvaises).

En outre, les files de configuration de l'user peuvent contenir des passwords non cryptés ou des passwords faiblement protégés pour diverses raisons – fetchmail saisissant du contenu provenant d'un autre service, .netrc ou des choses simples automatisées peuvent inclure le mot de passe.

Si les passwords sont hachés ou chiffrés avec un ancien algorithm faible (3DES, MD5), il serait possible de déterminer raisonnablement efficacement le coût du mot de passe, mais en attaquant datatables plutôt qu'en inversant simplement la transformation. (par exemple: des choses comme http://project-rainbowcrack.com/ ou http://www.openwall.com/john/ )

Puisque vous êtes root, il est également possible d'attaquer le mot de passe de l'user à un autre niveau – remplacez le binary de connection, ou sudo, ou une partie de PAM, etc. avec quelque chose qui capturera le mot de passe lorsqu'il est entré.

Ainsi, en particulier, non, mais en général, l'access root permet d'accéder plus facilement aux informations des users via différents canaux secondaires.

Contrairement à d'autres réponses, je dirais que la réponse simple à cette question et à bien d'autres qui se terminent par «si vous avez la racine» est OUI.

Fondamentalement, root peut faire n'importe quoi sur la machine que le système lui-même peut faire. Le système peut accepter votre mot de passe afin que root puisse accepter votre mot de passe ou le sien à la place du vôtre, avec suffisamment d'efforts. Plus important encore, il peut simplement changer votre mot de passe, ou DEVENIR vous.

Plus précisément, les passwords sont généralement cryptés. Il s'agit généralement d'une sorte d'algorithm dit «à sens unique» qui génère un nombre (un hachage) qui permet de vérifier le mot de passe, mais généralement de ne pas inverser le numéro et de récupérer le mot de passe. Donc, il ne s'agit pas simplement de lire un file pour get le mot de passe de quelqu'un.

Cela dit, vous pouvez lire l'historique de leur shell et l'historique de connection, où ils ont probablement tapé leur mot de passe au lieu de leur nom d'user à un moment donné, ou l'ont tapé dans un shell au lieu d'une invite de mot de passe. Dans ce cas, il s'agirait d'un text simple. Ceci est très courant sur les terminaux à base de text, sans bonnes solutions que je connaisse.

Cependant, même en mettant de côté ce problème, le encryption «à sens unique» n'est pas vraiment unidirectionnel. Il y a beaucoup d'outils autour qui vont passer par de nombreuses combinaisons de phrases secrètes, en les cryptant avec le même process à sens unique, jusqu'à ce que vous trouviez celui qui correspond. Ils connaissent alors le mot de passe qui va avoir access (même si en root, ils ont déjà access, sur cette machine).

Pire, il y a des tables arc-en-ciel, qui sont des réponses précalculées au process ci-dessus: les gens ont déjà généré le mot de passe original qui provient du mot de passe crypté donné. En utilisant ces derniers, il s'agit d'une simple search – aucune tentative de fissuration fastidieuse n'est requirejse.

Encore une fois, l'access au niveau racine est LA chose à protéger. Avec cela compromis, la machine entière, et tout ce qui s'y trouve est compromise. Il est time de recommencer, notamment en informant tous vos users que votre entreprise ne peut plus faire confiance pour protéger leur vie privée. Et, oui, cela pourrait signifier faire faillite.

Si vous avez root vous pouvez lancer un cracker de mot de passe contre /etc/shadow (en supposant des passwords locaux et non pas LDAP ou Kerberos, etc.). Cela peut ne pas être efficace s'ils choisissent de bons passwords et que le système est configuré pour utiliser un hachage de mot de passe fort. Mais les passwords système ne sont pas stockés en clair; les passwords ne sont pas directement disponibles même à la root .

Tous les passwords sont stockés dans le file /etc/shadow . Vous pouvez ouvrir ce file en utilisant l'access root et voir la hash value de hash value de ces passwords pour chaque user (même user root).

À less que vous n'ayez un logiciel de déencryption de mot de passe, vous ne pouvez pas convertir cette valeur de hachage en text normal.

Toutefois, si vous avez access à l'user root, vous pouvez modifier le mot de passe d'un user normal à l'aide de la command suivante et accéder à son count.

root@localhost$ passwd pradeep

Cela vous requestra le nouveau mot de passe que vous voulez définir pour l'user pradeep . De cette façon, vous pouvez changer passwd pour pradeep.

Vous pouvez maintenant accéder à partir de son count en:

root@localhost$ su pradeep

Cela se traduira par le passage à l'user pradeep et vous obtiendrez un terminal comme celui-ci:

pradeep@localhost$