Perché set exrc è pericoloso?


10

Ho visto set exrcmenzionato in vari punti per l'utilizzo dei .vimrcfile per directory , ma ogni volta che è stato menzionato è stato con forte ammonimento non usarlo effettivamente perché è pericoloso. Mi sono anche imbattuto in quello set secureche dovrebbe risolvere parte del pericolo ereditario di set exrc, ma anche con quello il consenso sembra non essere da usare set exrc.

Ho sentito frammenti del perché, ma quali sono esattamente i pericoli dell'utilizzo set exrc, con o senza set secure?

Risposte:


13

Perché stai dicendo a Vim di eseguire alcuni comandi da un file su cui potresti non avere il controllo o che qualcun altro avrebbe potuto scrivere. Di 'che prendi qualcosa da Github, e in profondità nell'albero c'è un .vimrc. Se vim qualcosa in quella directory e hai set exrc, stai dicendo a vim di eseguire i comandi nel .vimrc che hai ricevuto da github. Ti fidi completamente di chiunque abbia creato quel file? Perché stai lasciando che vim esegua qualunque comando inserisca quel file. Oppure dì che sei su una macchina regolarmente utilizzata da più persone (esistono ancora :-)) e qualcuno ti chiede di guardare qualcosa nella loro directory home (o / tmp, o in qualsiasi posto in cui possano scrivere). Fai cd lì, è un file di testo, quindi fai un vim file. Conset exrc, stai anche dicendo a vim di eseguire i comandi in .vimrc in quella directory. Ti fidi completamente di quell'utente, o in una directory scrivibile come / tmp, ogni utente che può accedere a quella macchina?

set securemitiga in qualche modo il problema limitando alcune cose che possono essere fatte in un .vimrc, ma se il .vimrc per directory può essere fatto da te (come nell'esempio github o su un computer multiutente in cui alcuni utenti può chown file a te), set secureviene ignorato, quindi hai ancora gli stessi problemi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.