707 Stimmen

sudo echo "etwas" >> /etc/privilegedFile funktioniert nicht

Dies ist eine ziemlich einfache Frage, zumindest scheint es so zu sein, über sudo-Berechtigungen in Linux.

Es gibt viele Gelegenheiten, bei denen ich einfach nur etwas anhängen möchte /etc/hosts oder eine ähnliche Datei zu erstellen, was aber nicht möglich ist, weil beide > y >> sind nicht erlaubt, auch nicht mit Root.

Gibt es eine Möglichkeit, dies zu erreichen, ohne dass man su o sudo su in Root?

2voto

Noam Manos Punkte 12442

Durch die Verwendung von sed -i avec $ a können Sie Text, der sowohl Variablen als auch Sonderzeichen enthält, an die letzte Zeile anhängen.

Fügen Sie zum Beispiel $NEW_HOST mit $NEW_IP in /etc/hosts ein:

sudo sed -i "\$ a $NEW_IP\t\t$NEW_HOST.domain.local\t$NEW_HOST" /etc/hosts

sed Optionen erklärt:

  • -i für in-place
  • $ für die letzte Zeile
  • a zum Anhängen

0voto

Sudev Shetty Punkte 1

Echo 'Hallo Welt' | (sudo tee -a /etc/apt/sources.list)

-1voto

Fthi.a.Abadi Punkte 296

Das hat bei mir funktioniert: Originalbefehl

echo "export CATALINA_HOME="/opt/tomcat9"" >> /etc/environment

Arbeitsbefehl

echo "export CATALINA_HOME="/opt/tomcat9"" |sudo tee /etc/environment

-1voto

Marcelo Pacheco Punkte 131

Wie wäre es damit:
echo text | sudo dd status=none of=privilegedfile
Ich möchte /proc/sys/net/ipv4/tcp_rmem ändern.
Das habe ich:
sudo dd status=none of=/proc/sys/net/ipv4/tcp_rmem <<<"4096 131072 1024000"
beseitigt das Echo mit einem einzeiligen Dokument

-6voto

pixistix Punkte 1

Können Sie den Eigentümer der Datei ändern und ihn dann wieder zurücksetzen, nachdem Sie cat >> zum Anhängen?

sudo chown youruser /etc/hosts  
sudo cat /downloaded/hostsadditions >> /etc/hosts  
sudo chown root /etc/hosts  

Funktioniert so etwas bei Ihnen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X