web-dev-qa-db-fra.com

Changer de répertoire en utilisant sudo

Comment changer de répertoire dans un répertoire appartenant à root?

Si je le fais: Sudo cd RootOwedDir

Je reçois: Sudo cd: command not found

Si je su root

Je reçois: authentication failure, probablement parce que je n'ai jamais vraiment créé de compte root.

Qu'est-ce que je fais mal ici?

20
unknown google user

Essayez plutôt d'utiliser Sudo -s pour démarrer un shell racine, puis simplement cd dans le répertoire.
Lorsque vous avez terminé en tant que root, appuyez sur CtrlD ou tapez exit.

Il est important de noter qu’en tant que racine, on peut facilement endommager les composants essentiels du système. à utiliser avec précaution!

17
oKtosiTe

C'est parce que cd n'est pas une commande mais une fonction intégrée dans le shell; et su attend le mot de passe root. Utilisez simplement:

Sudo su

exécuter un shell avec les privilèges root. Tapez exit ou appuyez sur Ctrl + D pour revenir au shell précédent lorsque vous avez terminé.

5
cYrus
Sudo sh -c "cd dir_path"
3
Wesley Rice

Vous pouvez également faire un Sudo vim sur le dossier, c’est-à-dire Sudo vim RootOwedDir et il affichera la vue vim des dossiers, qui affichera tous les fichiers/dossiers qui se trouvent dans ce dossier. Ensuite, vous pouvez simplement exécuter ce dont vous avez besoin en dehors du dossier et utiliser Sudo comme d'habitude.

1
Mark

su - puis tapez votre mot de passe. Vous pouvez maintenant juste cd dans le répertoire. Rappelez-vous que vous êtes maintenant root, ctrl-d avant de faire quoi que ce soit pour lequel vous ne voulez pas être root.

0
Unfundednut

Pour moi, une combinaison de Sudo et screen a fonctionné:

Sudo -iu vagrant screen -mS npm_install bash -c 'cd /vagrant && npm install'

Cette commande bascule d'abord vers l'utilisateur vagrant. Puis, comme vagrant change le répertoire en /vagrant et exécute npm install.

0
czerasz