Lorsque j'essaie de passer en root en utilisant sudo -ij'obtiens l'erreur /var/tmp/sclDvf3Vx: line 8: -i: command not found... Cependant, su -fonctionne que je continuerai à utiliser. Je ne suis en aucun cas un administrateur système Linux, donc l'environnement est encore assez brumeux pour moi. Je suppose que mes questions sont:
- Pourquoi l'erreur est-elle lancée?
- Quelle est la différence entre les deux commandes?
- Pourquoi voudriez-vous utiliser l'un sur l'autre?
Mise à jour:
J'utilise la version CentOS: CentOS version 6.6 (Final)
Voici la sortie de certaines commandes qu'on m'a demandé d'exécuter, dans les commentaires ci-dessous.
type sudo:sudo is /opt/centos/devtoolset-1.1/root/usr/bin/sudosudo -V:/var/tmp/sclIU7gkA: line 8: -V: command not foundgrep'^root:' /etc/passwd:root:x:0:0:root:/root:/bin/bash
Mise à jour:
Cela a été ajouté au ~ / .bashrc de mon utilisateur non root il y a quelque temps parce que j'avais besoin du support C ++ 11. Lorsque je le commente, le ressaisit, je peux exécuter sudo -i très bien sans aucune erreur.
if [ "$(gcc -dumpversion)" != "4.7.2" ]; then
scl enable devtoolset-1.1 bash
fi
aliaspour votre sudocommande?
sudoqui n'est pas la commande sudo normale. Étant donné qu'il ne comprend pas les options de sudo, ce n'est clairement pas quelque chose de standard. Utilisez /usr/bin/sudoou demandez à vos administrateurs locaux (qui auraient vraiment dû vous en parler lorsqu'ils vous ont donné des pouvoirs sudo).
-c'est vraiment un (ASCII)-?