Autorisation refusée lorsque vous essayez d'ajouter un fichier à la racine appartient fichier avec sudo
C'est la commande shell qui se traduit par "Permission denied" lorsque j'essaie d'ajouter les données dans un fichier vers un autre fichier avec sudo:
sudo cat add_file >> /etc/file
Le fichier à /etc/file
est détenue par root
(c'est à dire moi) et ses autorisations sont rw-r--r--
. Devrais-je devenir root
un moment pour le faire fonctionner ou est-il une solution pour sudo
?
- Je pense que cette question devrait être migré vers unix.stackexchange.com - Ce n'est pas une question de programmation.
Vous devez vous connecter pour publier un commentaire.
Exécuter
bash
commesudo
:sudo cat add_file >> /etc/file
ne fonctionne pas? Je ne comprends passudo cat file
a été exécuté en premier, le fichier sera affiché sur la sortie standard stdout. Quand on essaie de rediriger avec>> /etc/file
il serait à la fin. C'est même la raisoncat file > file
produit un fichier vide.sudo (cat add_file >> etc/file)
, merciEssayer de faire ceci à la place :
Elle est plus légère que l'exécution de bash ou
sh -c command
sudo bash
n'est pas limitée à cette application particulière, de toute façon +1 de moi.add_file
doit être lisible par l'utilisateur. Mais si le fichier est lisible par l'utilisateur, elle est plus courte et plus efficace que le lancement d'une toute nouvellebash
oush
.sudo tee -a /etc/file < add_file > /dev/null
au silence la sortie du terminal (particulièrement utile si le fichier ajouté est grande ou non du texte)Une drôle de possibilité est d'utiliser
ed
(le standard de l'éditeur):Je sais que je ne vais pas m'upvoted pour cette belle réponse, mais je voulais l'inclure ici de toute façon (parce que c'est drôle). Fait!
Vous essayez d'écrire le résultat de la commande
sudo cat add_file
dans le fichier /etc/fichier. Et apparemment, vous n'avez pas ce droit.man sudo
donne un exemple :De sorte que vous devriez essayer :
sudo sh -c "cat add_file >> /etc/file"
Approche similaire à @gniourf_gniourf réponse, mais en utilisant
ex
:qui est équivalent à
vi
/vim
Ex-mode (-e
).Cette édition sur place exemple est simple, sûr et pratique de l'approche, car il n'utilise pas n'importe quel environnement de la tuyauterie, Fifo ou la coquille à l'intérieur de la coquille des solutions de contournement.
D'amélioration de la performance pour l'écriture de scripts fins, pensez à utiliser la mode silencieux (
-s
).essayer
ou