C'est ce que je continue de recevoir:
ascendermedia@magic2tower:~$ sudo apt-get install flashplugin-installer
bash: sudo: command not found
ascendermedia@magic2tower:~$ sudo apt-get install flashplugin-installer
bash: sudo: command not found
ascendermedia@magic2tower:~$ apt-get install flashplugin-installer
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
ascendermedia@magic2tower:~$ sudo aptitude install flashplugin-nonfree
bash: sudo: command not found
ascendermedia@magic2tower:~$ aptitude install flashplugin-nonfree
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
ascendermedia@magic2tower:~$
Qu'est-ce que je fais mal?
la source
sudo
ne fait pas que lancer des commandes "comme si vous étiez root", il les exécute en fait en tant que root. Si vous regardez le processus, vous verrez qu'il s'exécute en tant que root, pas en tant que votre identifiant utilisateur. Par ailleurs, sur les machines qui ne sont pas configurées pour autoriser la connexion interactive par racine par défaut, vous pouvez simplement exécutersudo bash
pour obtenir un shell racine. :)sudo -i
c'est préférable, car il respecte votre shell actuel.Vous avez besoin des privilèges root pour exécuter les mises à jour du système via
apt-get
.Vous pouvez basculer vers un compte root à l'aide de
su root
. Il semble que lesudo
programme ne soit pas installé.la source
sudo
privilèges, il n'a même passudo
installé.sudo
.PATH
.sudo
etapt-get
sont tous les deux installés/usr/bin
par défaut (au moins sur Debian).Que signifie «êtes-vous root?»?
Pour installer des packages à l'échelle du système (qu'est
apt-get
- ce qui se passe), il a besoin des privilèges root, car vous allez créer et modifier des fichiers système (root
c'est le nom habituel du compte administrateur * nix).Le message «êtes-vous root?» Est un doux rappel que vous «devez être root» pour pouvoir exécuter
apt-get install
. C'est la raison la plus souvent rencontrée pour le problème rencontré (illustré ci-dessus):.
Comment devenir root?
su
La manière traditionnelle de "devenir root" est d'exécuter
su
(et de fournir le mot de passe de l'utilisateur root). su (1) signifie s uper u ser ou s witch u ser.Notez qu'il peut être utilisé pour devenir n'importe quel utilisateur, vous pouvez donc exécuter
su john
pour obtenir un shell en tant que john. Courirsu
sans nom d'utilisateur est un raccourci poursu root
.Pour que cela fonctionne, le compte d'utilisateur root doit être activé et avoir un mot de passe défini. Certains systèmes sont configurés (même par défaut), avec le compte root désactivé, afin d'éviter quelqu'un -eg. un attaquant - connectez-vous avec le compte administrateur. Dans ces cas, ils offrent une autre façon d'exécuter des commandes d'administration, comme sudo.
sudo
sudo (1) est un programme qui vous permet d'exécuter une commande en tant qu'autre utilisateur (comme ci-dessus, généralement effectué pour root). Il est configuré dans
/etc/sudoers
et permet un contrôle plus fin, comme autoriser uniquement l'exécution d'un seul programme en tant que root, à un utilisateur spécifique (qui peut être défini pour exiger à nouveau son propre mot de passe), et fournit également des fonctionnalités de journalisation (par exemple. " john a exécuté destroy-system en tant que root ").Il existe d'autres options pour exécuter des privilèges accrus (tels que calife ), mais leur utilisation est beaucoup plus faible.
Votre journal ci-dessus indique qu'il
sudo
n'est pas installé sur magic2tower.la source
Ils ont déjà expliqué ce qu'est root, quand vous avez une "commande introuvable", c'est probablement parce que vous n'avez pas installé le programme que vous essayez d'exécuter, ou que vous n'avez pas le chemin dans vos variables env.
Essayez d'exécuter la commande comme ceci:
Dans certaines distributions Linux, vous ne pouvez pas passer à root, donc toutes les commandes doivent être exécutées avec sudo. =)
la source
bash: sudo: command not found
la meilleure idée est de l'installer avecsudo apt-get install sudo
, et s'il vous donne la même erreur, vous apprendrez ce qu'est la récursivitésudo
.