GNU/Linux >> Tutoriels Linux >  >> Linux

Comment ajouter à un fichier en tant que sudo?

Utilisez tee -a (ou tee --append ) avec sudo

tee - read from standard input and write to standard output and files
[...]
   -a, --append
      append to the given FILEs, do not overwrite
[...]

Donc votre commande devient

echo "something" | sudo tee -a /etc/config_file

Les avantages de tee sur l'exécution de Bash avec des autorisations administratives sont

  • Vous n'exécutez pas Bash avec des autorisations administratives
  • Seule la partie "écrire dans le fichier" s'exécute avec des autorisations avancées
  • Citer une commande complexe est beaucoup plus facile

La redirection est exécutée dans le shell courant. Pour effectuer la redirection avec des privilèges élevés, vous devez exécuter le shell lui-même avec des privilèges élevés :

sudo bash -c "somecommand >> somefile"

Demandez à sudo de générer un sous-shell :

sudo sh -c "echo 'JAVA_HOME=/usr/lib/jvm/java-6-sun' >> /etc/profile"

Dans cet exemple, sudo exécute "sh" avec le reste comme arguments.

(ceci est montré comme exemple dans la page de manuel sudo)


Linux
  1. Comment ajouter plusieurs lignes à un fichier ?

  2. Comment installer le gestionnaire de fichiers Nemo ?

  3. Comment configurer Sudo sans mot de passe pour un utilisateur spécifique

  4. Comment rediriger la sortie vers un fichier et stdout

  5. Comment ajouter du texte à un fichier ?

Comment déplacer un fichier sous Linux

Comment ajouter un utilisateur aux Sudoers dans Ubuntu

Comment utiliser Sudo et le fichier Sudoers

Comment exécuter la commande Sudo sans mot de passe

Bash :ajouter au fichier

Comment changer le fichier journal Sudo par défaut sous Linux