1. Pourquoi vous n'avez pas de mot de passe root
Bien que vous puissiez créer un mot de passe pour le compte superutilisateur vous permettant de vous connecter en tant que root su
, il est à noter que ce n'est pas la manière habituelle de faire des choses avec Ubuntu (ou de plus en plus, d'autres distributions). Ubuntu a choisi de ne pas donner de nom d'utilisateur et de mot de passe root par défaut pour une raison. À la place, une installation par défaut d’Ubuntu utilisera les sudo
privilèges de superutilisateur. Dans une installation par défaut d'Ubuntu, la personne qui a installé le système d'exploitation reçoit par défaut l'autorisation "sudo".
Toute personne disposant d'une autorisation "sudo" complète peut exécuter quelque chose "en tant que superutilisateur" en mettant en attente sudo
sa commande. Par exemple, pour fonctionner en apt-get dist-upgrade
tant que superutilisateur, vous pouvez utiliser:
sudo apt-get dist-upgrade
Vous verrez cette utilisation de sudo à peu près partout où vous lirez un tutoriel sur Ubuntu sur le Web. C'est une alternative à cela.
su
apt-get dist-upgrade
exit
Avec sudo, vous choisissez à l'avance les utilisateurs qui ont un accès sudo. Ils n'ont pas besoin de se souvenir d'un mot de passe root car ils utilisent leur propre mot de passe. Si vous avez plusieurs utilisateurs, vous pouvez révoquer son accès superutilisateur en supprimant simplement leur autorisation sudo, sans avoir à changer le mot de passe root et à notifier un nouveau mot de passe à tout le monde. Vous pouvez même choisir quelles commandes un utilisateur est autorisé à utiliser avec sudo et quelles commandes sont interdites pour cet utilisateur. Enfin, en cas d’infraction à la sécurité, une meilleure trace d’audit peut dans certains cas laisser apparaître le compte utilisateur compromis.
Sudo facilite l'exécution d'une commande unique avec les privilèges de superutilisateur. Avec su
, vous passez définitivement à un shell superutilisateur qui doit être quitté avec exit
ou logout
. Cela peut amener les utilisateurs à rester dans le shell de superutilisateur plus longtemps que nécessaire simplement parce que cela est plus pratique que de se déconnecter et de se reconnecter plus tard.
Avec sudo, vous avez toujours la possibilité d’ouvrir un shell superutilisateur permanent (interactif) avec la commande:
sudo su
... et cela peut toujours être fait sans mot de passe root, car sudo
donne les privilèges de superutilisateur à la su
commande.
Et de même, au lieu de su -
pour un shell de connexion, vous pouvez utiliser sudo su -
ou son raccourci sudo -i
.
Cependant, pour ce faire, vous devez simplement savoir que vous agissez en tant que superutilisateur pour chaque commande. C'est un bon principe de sécurité de ne pas rester super-utilisateur plus longtemps que nécessaire, juste pour limiter les risques d'endommager accidentellement le système (sans lui, vous ne pouvez endommager que les fichiers que votre utilisateur possède).
Juste pour clarifier, vous pouvez , si vous le souhaitez, donner à l'utilisateur root un mot de passe lui permettant de se connecter en tant que root, comme décrit dans la réponse de @ Oli, si vous souhaitez spécifiquement procéder de la sorte. Je voulais simplement vous informer de la convention Ubuntu consistant à préférer la sudo
préférence et vous faire savoir qu'il existe une alternative.
2. Les problèmes avec votre commande chmod 777 -R
Votre question comporte également une deuxième partie: vos problèmes avec la commande sudo chmod 777 -R foobs
.
Premièrement, l’avertissement suivant indique un problème de sécurité potentiellement sérieux sur votre ordinateur:
sudo: /var/lib/sudo writable by non-owner (040777), should be mode 0700
Cela signifie qu’à un moment donné, vous êtes prêt /var/lib/sudo
à écrire dans le monde entier. J'imagine que vous avez fait cela à un moment donné en utilisant une commande comme sudo chmod 777 -R /
. Malheureusement, ce faisant, vous avez probablement quasiment brisé toutes les autorisations de fichiers de votre système. Il est peu probable que ce soit le seul fichier système important dont les autorisations ont été modifiées pour être accessible en écriture. Vous avez essentiellement un système facilement piratable, et le seul moyen facile de le récupérer consiste à le réinstaller.
Deuxièmement, la commande que vous utilisiez:
sudo chmod 777 -R foobs
Lors de la manipulation de fichiers dans votre répertoire personnel, dans ce cas dans ~/Desktop
, vous ne devriez pas avoir à utiliser sudo
. Tous les fichiers que vous créez dans votre répertoire personnel doivent être modifiables par vous de toute façon (sinon, quelque chose de drôle se passe).
En outre, vous devez être pleinement conscient des conséquences de la modification en masse des autorisations de fichiers, telles que le faire de manière récursive ou sur un très grand nombre de fichiers. Dans ce cas, vous modifiez avec soin les autorisations de fichiers pour qu'elles soient accessibles en écriture au monde. Tout autre utilisateur, ou tout logiciel serveur buggy sur la machine, peut avoir un accès facile pour écraser tous ces fichiers et répertoires.
Il est presque certain que chmod 777 -R [dir]
ce n'est pas une solution appropriée au problème que vous tentiez de résoudre (et comme je l'ai mentionné ci-dessus, il est prouvé que vous l'avez déjà fait pour les fichiers système dans / var / lib, et je suppose que pour beaucoup d'autres des endroits).
Quelques règles de base:
Si vous vous contentez de manipuler vos propres fichiers dans votre répertoire personnel, votre ordinateur de bureau, etc., vous ne devriez jamais avoir besoin d'utiliser les sudo
droits de superutilisateur. Si vous le faites, c'est un signe avant-coureur que vous faites quelque chose de mal.
Vous ne devez jamais modifier manuellement les fichiers système appartenant à des packages. Exception: à moins que vous ne le fassiez de manière spécifiquement documentée par ces packages, par exemple en modifiant leur configuration dans /etc
. Cela s'applique également à la modification des autorisations de fichiers. Si un didacticiel ou une tentative de résolution du problème nécessite des sudo
droits ou des droits de superutilisateur et qu'il ne s'agit pas simplement d'une modification de la configuration dans / etc /, cela signifie que vous faites quelque chose de mal.
chmod -R 777 whatever
, à moins de vouloir causer un risque énorme pour la sécurité.