Un utilisateur irc dans #Vim m'a exhorté à ne pas utiliser Sudo avec Vim comme:
sudo vim bad_idea
Quand je fais des choses dans des endroits comme / var / www /, je ne peux pas écrire sans lui. Donc, ne pas utiliser sudo devient un problème. Bien sûr, je pouvais apporter des modifications à différents emplacements tels que / tmp / puis copier les répertoires dans / var / www. Cependant, je sens un moyen plus simple.
- Si vous ne faites pas "sudo Vim", pourquoi?
- Si oui à la 1ère question, comment contourner les problèmes pour ne pas utiliser sudo?
Référez-vous à: /programming/1005/getting-root-permissions-on-a-file-inside-of-vi :
la source
vim permet aux utilisateurs d'exécuter des commandes shell arbitraires, par conséquent, de nombreux administrateurs système n'autorisent pas l'utilisation de vim avec sudo.
rvim est inclus avec vim. C'est un vim restreint, qui n'autorise pas les commandes shell. (Ou vous permettre de suspendre vim, pour les mêmes raisons.)
Que vous ayez besoin d'aller à ces extrêmes sur votre propre boîte est discutable.
la source
sudo vim
puis entrez:!bash
et vous avez un shell en tant que root - exactement pourquoirvim
existesudo bash
ousudo su -
non?vi
lancevim
mais en tant que rootvi
lancevi
. Sur Ubuntuvim
est utilisé dans les deux cas etsudo vi
lance égalementvim
...Lorsque vous éditez des fichiers de configuration à l'échelle du système, tout va bien --- rappelez-vous toujours que vous êtes root et que vous avez donc tout le pouvoir, et supprimez ces privilèges dès que vous n'en avez plus besoin.
Dans le cas particulier
/var/www/
, c'est-à-dire les pages du serveur Web, vous voudrez peut-être penser à changer certains propriétaires / groupes / autorisations --- mais si et comment cela dépend en grande partie de votre configuration particulière (utilisateur unique / multi, serveur Web réel / juste localhost, dynamique / statique, etc.)la source
Une question comme celle-ci me fait me frapper le front. Je suis de l'autre côté de la sécurité, "la sécurité ne doit pas interférer avec l'expérience utilisateur, sauf si elle est prévue ou requise pour empêcher la personne moyenne de faire des activités malveillantes."
Empêcher l'utilisation sudo de vim est juste un pansement. Comme indiqué précédemment, quelqu'un peut simplement utiliser:
Ou
Ou
Ou
ect
Si vous craignez vraiment que quelqu'un fasse quelque chose de malveillant sur la boîte, ne lui donnez pas de privilèges sudo (ou mot de passe root évidemment), point final. Il n'y a pas de puce pour empêcher les activités malveillantes en utilisant sudo et vous ne deviendrez fou que par "l'application" de tous les "correctifs" pour vous assurer qu'une personne ne peut rien faire de malveillant.
Quelqu'un a mentionné le changement de propriétaire / groupe. Il s'agit d'un problème épineux comme si le serveur Web est exécuté en tant qu'autre utilisateur et que vous modifiez les autorisations sur le fichier, tout à coup votre site ne fonctionne plus. Eh bien, évidemment, cela ne vous aidera pas. Vous pouvez vous ajouter au groupe que le serveur Web exécute car, cependant, si le groupe n'a pas accès en écriture aux fichiers, vous devrez effectuer chmod -R g + w * (ou chmod fichiers individuels) qui peuvent ne pas être ce que vous voulez et peut être un problème si vous devez modifier chaque fichier.
Certaines personnes ont même suggéré d'utiliser rvim. Bien sûr, on pourrait simplement ajouter une ligne dans / etc / sudoers pour autoriser uniquement certains utilisateurs à sudo rvim, cependant, il serait logique que si vous deviez suivre cette voie, il serait peut-être préférable d'implémenter un gestionnaire de fichiers basé sur le Web. De cette façon, il s'exécute en tant qu'utilisateur sous lequel le serveur Web s'exécute, donc aucun problème d'autorisation de fichier et vous pouvez toujours avoir un contrôle granulaire sur qui modifie quels fichiers.
Mes deux cents de toute façon.
la source
L'exécution
sudo vim
ne changera pas le$HOME
répertoire, vous exécuterez donc Vim avec les autorisations root, mais$HOME
pointe toujours vers votre utilisateur normal.Si c'est la première fois que vous exécutez Vim, il peut arriver que le
~/.viminfo
fichier soit créé dans votre répertoire utilisateur normal, mais avec les autorisations root.la source
sudo vim -c '!echo $HOME' -c q
donne mon dossier de départ, mais sur mon serveur, il donne/root
. Je devrais peut-être jeter un coup d'œil à la raison pour laquelle cela est dû au fait que l'un est OS X tandis que l'autre est Gentoo, ou pourrait être quelque chose à voir avec la/etc/sudoers
configuration..viminfo
était accessible uniquement par root.SI C'EST VOTRE PROPRE ORDINATEUR ... Je ne vois aucune raison pour laquelle vous ne pouvez pas utiliser 'sudo vim', autre que le cas de bord que Denilson a noté - qu'il pourrait créer votre ~ / .viminfo appartenant à root.
Sinon - si un administrateur système restreint ce que vous pouvez et ne pouvez pas faire - par "man sudo": "sur la plupart des systèmes, il est possible d'empêcher les échappements du shell avec la fonctionnalité noexec de sudo. Voir le manuel sudoers (5) pour plus de détails. "
Donc, dans ce cas, si votre administrateur système est préoccupé par le potentiel de l'exécution de sous-shell en tant que root à partir de vim, il peut utiliser la capacité noexec. Mais ... revenons au cas initial - si c'est VOTRE ordinateur, je pense que vous êtes sacrément sûr d'exécuter 'sudo vim'.
la source
Une référence à la réponse de balpha sur les groupes:
Comment: Linux ajouter un utilisateur au groupe
la source