vimrc – ¿Por qué es peligroso set exrc?

Pregunta:

He visto que set exrc menciona en varios lugares para usar archivos .vimrc por directorio, pero cada vez que se menciona ha sido con una fuerte advertencia de no usarlo porque es peligroso. También me encontré con set secure que se supone que soluciona algunos de los peligros heredados de set exrc , pero incluso con eso, el consenso parece ser no usar set exrc .

He escuchado fragmentos de por qué, pero ¿cuáles son exactamente los peligros de usar set exrc , con o sin set secure ?

Respuesta:

Porque le está diciendo a vim que ejecute algunos comandos desde un archivo sobre el que es posible que no tenga control o que alguien más pueda haber escrito. Digamos que agarras algo de github, y en lo profundo del árbol hay un .vimrc. Si vim algo en ese directorio y ha set exrc , le está diciendo a vim que ejecute los comandos en el .vimrc que obtuvo de github. ¿Confías completamente en quien creó ese archivo? Porque está permitiendo que vim ejecute los comandos que coloquen en ese archivo. O digamos que estás en una máquina que utilizan habitualmente varias personas (todavía existen :-)), y alguien te pide que mires algo en su directorio de inicio (o / tmp, o en cualquier lugar en el que puedan escribir). Haces un cd allí, es un archivo de texto, así que haces un vim file . Con set exrc , también le está diciendo a vim que ejecute los comandos en .vimrc en ese directorio. ¿Confía completamente en ese usuario, o en un directorio de escritura mundial como / tmp, todos los usuarios que pueden iniciar sesión en esa máquina?

set secure mitiga un poco el problema al limitar algunas cosas que se pueden hacer en un .vimrc, pero si el .vimrc por directorio puede ser propiedad de usted (como en el ejemplo de github, o en una máquina multiusuario donde algunos usuarios pueden enviarle archivos), la set secure se ignora, por lo que aún tiene los mismos problemas.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım