vim - Konfiguration zum Bearbeiten von Dateien als User/R
vim - Konfiguration zum Bearbeiten von Dateien als User/R
Hallo,
Vim bietet als Texteditor mit seinen Erweiterungen viele tolle Möglichkeiten, die ich mir erschließen möchte. So habe ich diverse Plugins eingebunden, die die Arbeit deutlich erleichtern.
Will man nun Dateien wie z.B. /etc/network/interfaces mit vim ohne root-Anmeldung bearbeiten, kann man die Datei nur lesen. Meldet man sich als root an und bearbeitet diese Datei, kann man die Plugis nicht nutzen.
Wie kann man nun die Funktionen, die die man als normaler User eingerichtet hat, auch als root nutzen. Oder, wie ist es möglich, Dateien außerhalb des home-Verzeichnisses mit vim als normaler User zu bearbeiten.
Vim bietet als Texteditor mit seinen Erweiterungen viele tolle Möglichkeiten, die ich mir erschließen möchte. So habe ich diverse Plugins eingebunden, die die Arbeit deutlich erleichtern.
Will man nun Dateien wie z.B. /etc/network/interfaces mit vim ohne root-Anmeldung bearbeiten, kann man die Datei nur lesen. Meldet man sich als root an und bearbeitet diese Datei, kann man die Plugis nicht nutzen.
Wie kann man nun die Funktionen, die die man als normaler User eingerichtet hat, auch als root nutzen. Oder, wie ist es möglich, Dateien außerhalb des home-Verzeichnisses mit vim als normaler User zu bearbeiten.
Zuletzt geändert von mptaiko am 09.10.2014 21:20:31, insgesamt 1-mal geändert.
Mit freundlichen Grüßen
Michael
---------------------------------------------------------------------------------------------------------------------------------
Ein Problem ist kein Problem, solange es lösbar ist ! - M.P.
Michael
---------------------------------------------------------------------------------------------------------------------------------
Ein Problem ist kein Problem, solange es lösbar ist ! - M.P.
Re: vim - Konfiguration für Bearbeiten von Dateien in
Ich denke am einfachsten wäre es die Plugins (keine Ahnung wo die liegen, da ich keine nutze, wahrscheinlich ~/.vim) von /home/user nach /root zu kopieren.
Re: vim - Konfiguration für Bearbeiten von Dateien in
Statt zu kopieren sollte man auch linken können. Dann vergisst man nicht, neue Plugins auch zu kopieren.
Re: vim - Konfiguration für Bearbeiten von Dateien in
Ich habe noch mal kurz gesucht und eine sudo-Lösung gefunden.
Dann einfach normal per "vim" laden und speichern mit:
Mag etwas unsicher sein, da der Benutzer alle Dateien speichern darf. Aber das willst du ja.
http://stackoverflow.com/questions/1005 ... side-of-vi
(eigentliche Anleitung etwas angepasst)
Alternativ gibt es wohl ein Vim-Plugin: http://www.vim.org/scripts/script.php?script_id=729
(Nachtrag: das Plugin nutzt wohl auch nur sudo tee)
Code: Alles auswählen
/etc/sudoers (editieren mit visudo)
username ALL=(ALL) NOPASSWD: /usr/bin/tee
Code: Alles auswählen
~/.vimrc
cmap w!! w !sudo tee >/dev/null %
Code: Alles auswählen
:w!!
http://stackoverflow.com/questions/1005 ... side-of-vi
(eigentliche Anleitung etwas angepasst)
Alternativ gibt es wohl ein Vim-Plugin: http://www.vim.org/scripts/script.php?script_id=729
(Nachtrag: das Plugin nutzt wohl auch nur sudo tee)
Zuletzt geändert von uname am 09.10.2014 15:21:32, insgesamt 1-mal geändert.
Re: vim - Konfiguration für Bearbeiten von Dateien in
Auch beim Verlinken sollte man vorsichtig sein:
Verlinkt man /root/.vim auf /home/user/.vim so ermöglicht man es einem unprivilegierten User ins Home von root zu schreiben. Fängt man sich nun ein vim-Plugin ein das hässliche Sachen macht so führt man das beim nächsten Aufruf von vim als root womöglich aus.
Deshalb sollte der Link entweder andersrum sein oder die Plugins sollten ganz woanders liegen, wo nur root schreiben darf.
Edit:
tee per sudo freizugeben ist sicherheitstechnisch Selbstmord.
Verlinkt man /root/.vim auf /home/user/.vim so ermöglicht man es einem unprivilegierten User ins Home von root zu schreiben. Fängt man sich nun ein vim-Plugin ein das hässliche Sachen macht so führt man das beim nächsten Aufruf von vim als root womöglich aus.
Deshalb sollte der Link entweder andersrum sein oder die Plugins sollten ganz woanders liegen, wo nur root schreiben darf.
Edit:
tee per sudo freizugeben ist sicherheitstechnisch Selbstmord.
Re: vim - Konfiguration für Bearbeiten von Dateien in
Stimmt, aber bezogen auf die Ursprungsfragen:hikaru hat geschrieben:tee per sudo freizugeben ist sicherheitstechnisch Selbstmord.
root werden oder sudo tee -> SelbstmordWie kann man nun die Funktionen, die man als normaler User eingerichtet hat, auch als root nutzen.
sudo tee -> SelbstmordOder, wie ist es möglich, Dateien außerhalb des home-Verzeichnisses mit vim als normaler User zu bearbeiten.
Generell sollte man immer bewusst vom normalen Benutzer auf root wechseln. Ob die Eingabe von "sudo" bzw. ":w!!" bewusst genug ist weiß ich nicht. Alternativ könnte man noch die Eingabe eines Passwortes fordern. Ähnlich wie bei Ubuntu nur dass man dort mit Passwort dann gleich alles als root darf.
Re: vim - Konfiguration für Bearbeiten von Dateien in
Da ich einen PC und ein Notebook habe und möchte, dass meine vim-Konfiguration immer überall gleich ist, habe ich das .vim-Verzeichnis einfach in meine Owncloud auf meinem Raspbi verlegt.
In den user- und root-Verzeichnissen auf beiden Rechnern gibt es jeweils eine .vimrc mit folgendem Inhalt:
Ob das ein Sicherheitsproblem ist, weiß ich nicht. Ich hoffe, ich werde jetzt nicht von den Experten in der Luft zerrissen.
Dürfte aber nicht so wild sein, da ich der alleinige User bin und keiner meiner Rechner aus dem Internet erreichbar ist. Auch die Owncloud nicht.
Jedenfalls werden jetzt alle Konfigurationen, Plugins, usw. ausschließlich in dem .vim-Ordner in der Owncloud gemacht und stehen dann sofort überall zur Verfügung. Was für mich sehr angenehm ist, da ich versuche, mehr über vim zu lernen und also viel rumexperimentiere.
In den user- und root-Verzeichnissen auf beiden Rechnern gibt es jeweils eine .vimrc mit folgendem Inhalt:
Code: Alles auswählen
set runtimepath+=/usr/local/Daten/Owncloud/vim
set runtimepath+=/usr/local/Daten/Owncloud/vim/after
source /usr/local/Daten/Owncloud/vim/vimrc.vim
Dürfte aber nicht so wild sein, da ich der alleinige User bin und keiner meiner Rechner aus dem Internet erreichbar ist. Auch die Owncloud nicht.
Jedenfalls werden jetzt alle Konfigurationen, Plugins, usw. ausschließlich in dem .vim-Ordner in der Owncloud gemacht und stehen dann sofort überall zur Verfügung. Was für mich sehr angenehm ist, da ich versuche, mehr über vim zu lernen und also viel rumexperimentiere.
Re: vim - Konfiguration für Bearbeiten von Dateien in
Du bist mit deinen vim-Experimenten auf alle Fälle weiter als ich.
Ich habe jetzt einen, vielleicht nicht ganz so eleganten Weg gewählt. Als Pluginmanager nutze ich vundle.vim. Dann habe ich das vundle-Plugin in mein /root-Verzeichnis geclont. Meine .vimrc auch dahin kopiert und dann die Plugins neu installiert. Bloß hier hat man die ganzen Plugin-Dateien doppelt auf dem Rechner.
Ist es nun ratsamer, die vimrc im /root- oder im home-Verzeichnis zu pflegen oder so wie jetzt bei mir an zwei Stellen zu lassen und bei Änderungen hinundher zu kopieren?
Ich habe jetzt einen, vielleicht nicht ganz so eleganten Weg gewählt. Als Pluginmanager nutze ich vundle.vim. Dann habe ich das vundle-Plugin in mein /root-Verzeichnis geclont. Meine .vimrc auch dahin kopiert und dann die Plugins neu installiert. Bloß hier hat man die ganzen Plugin-Dateien doppelt auf dem Rechner.
Ist es nun ratsamer, die vimrc im /root- oder im home-Verzeichnis zu pflegen oder so wie jetzt bei mir an zwei Stellen zu lassen und bei Änderungen hinundher zu kopieren?
Mit freundlichen Grüßen
Michael
---------------------------------------------------------------------------------------------------------------------------------
Ein Problem ist kein Problem, solange es lösbar ist ! - M.P.
Michael
---------------------------------------------------------------------------------------------------------------------------------
Ein Problem ist kein Problem, solange es lösbar ist ! - M.P.
Re: vim - Konfiguration zum Bearbeiten von Dateien als User/
rsync wäre dein Freund.