Użytkownik irc na #Vim namawiał mnie, żebym nie używał Sudo z Vimem jak:
sudo vim bad_idea
Kiedy robię rzeczy w lokalizacjach takich jak / var / www /, nie mogę bez tego pisać. Zatem niestosowanie sudo staje się problemem. Oczywiście mogłem dokonać zmian w różnych lokalizacjach, takich jak / tmp /, a następnie skopiować katalogi do / var / www. Jednak wyczuwam łatwiejszy sposób.
- Jeśli nie „sudo Vim”, dlaczego?
- Jeśli tak, na pierwsze pytanie, w jaki sposób można obejść problemy z niestosowaniem sudo?
Patrz: /programming/1005/getting-root-permissions-on-a-file-inside-of-vi :
źródło
vim pozwala użytkownikom wykonywać dowolne polecenia powłoki, dlatego wielu administratorów systemu nie zezwala na używanie vima z sudo.
rvim jest dołączony do vima. Jest to ograniczony vim, który nie pozwala na polecenia powłoki. (Lub pozwalają ci zawiesić vima z tych samych powodów.)
To, czy musisz przejść do tych ekstremów na własnym pudełku, jest dyskusyjne.
źródło
sudo vim
następnie wejdź:!bash
i masz powłokę jako root - dokładnie dlaczegorvim
istniejesudo bash
lubsudo su -
w prawo?vi
uruchamiavim
ale jako rootvi
startówvi
. Na Ubuntuvim
jest używany w obu przypadkach, asudo vi
także uruchamiavim
...Podczas edycji plików konfiguracyjnych całego systemu wszystko jest w porządku - pamiętaj tylko, że jesteś rootem, a zatem masz całą moc, i zrzuć te uprawnienia, gdy tylko ich nie potrzebujesz.
W szczególnym przypadku
/var/www/
, np. Na stronach serwera WWW, możesz pomyśleć o zmianie niektórych praw własności / grup / uprawnień --- ale czy i jak w dużej mierze zależy od konkretnej konfiguracji (pojedynczy / wielu użytkowników, prawdziwy serwer WWW / po prostu localhost, dynamiczny / static itp.)źródło
Takie pytanie zmusza mnie do uderzenia się w czoło. Jestem po drugiej stronie bezpieczeństwa, „bezpieczeństwo nie powinno kolidować z wrażeniami użytkownika, chyba że jest to spodziewane lub wymagane, aby zapobiec sytuacji, w której przeciętny człowiek będzie robił złośliwe działania”.
Zapobieganie używaniu vima w sudo to tylko pomoc zespołu. Jak wspomniano wcześniej, ktoś może po prostu użyć:
Lub
Lub
Lub
ect
Jeśli naprawdę martwisz się, że ktoś zrobi coś złośliwego na urządzeniu, nie przyznawaj mu uprawnień sudo (lub oczywiście hasła root), kropka. Nie ma pocisku odłamkowego, który zapobiegałby złośliwej aktywności przy użyciu sudo, a oszalejesz tylko poprzez „stosowanie” wszystkich „poprawek”, aby upewnić się, że dana osoba nie jest w stanie zrobić nic złośliwego.
Ktoś wspomniał o zmianie własności / grup. To przyklejony problem, jakby serwer WWW był uruchamiany jako inny użytkownik, a Ty zmieniasz uprawnienia do pliku, teraz Twoja witryna nagle nie działa. Oczywiście to ci nie pomoże. Możesz dodać siebie do grupy, na której działa serwer WWW, jednak jeśli grupa nie ma dostępu do zapisu do plików, musisz wykonać chmod -R g + w * (lub pojedyncze pliki chmod) co chcesz i może być kłopotliwe, jeśli musisz chmod każdy plik.
Niektórzy sugerowali nawet używanie rvim. Jasne, można po prostu dodać wiersz w / etc / sudoers, aby zezwolić tylko niektórym użytkownikom na sudo rvim, jednak logiczne byłoby, że gdybyś musiał pójść tą drogą, lepiej byłoby zaimplementować internetowy menedżer plików. W ten sposób działa jako użytkownik, na którym działa serwer WWW, dzięki czemu nie występują problemy z uprawnieniami do plików i nadal możesz mieć szczegółową kontrolę nad tym, kto edytuje jakie pliki.
W każdym razie moje dwa centy.
źródło
Uruchomienie
sudo vim
nie zmieni$HOME
katalogu, więc będziesz uruchamiał Vima z uprawnieniami roota, ale$HOME
nadal wskazuje na normalnego użytkownika.Jeśli uruchamiasz Vima po raz pierwszy, może się zdarzyć, że
~/.viminfo
plik zostanie utworzony w normalnym katalogu użytkownika, ale z uprawnieniami administratora.źródło
sudo vim -c '!echo $HOME' -c q
daje mój folder domowy, ale na moim serwerze daje/root
. Być może będę musiał rzucić okiem na to, dlaczego tak jest, może to być spowodowane tym, że jeden OS X jest drugim Gentoo, lub może mieć coś wspólnego z/etc/sudoers
konfiguracją..viminfo
był dostępny tylko dla roota.JEŚLI TO JEST TWÓJ WŁASNY KOMPUTER ... Nie widzę powodu, dla którego nie możesz używać 'sudo vim', poza przypadkiem, który zauważył Denilson - że może stworzyć twoje ~ / .viminfo należące do roota.
Jeśli nie - jeśli administrator systemu ogranicza to, co możesz, a czego nie możesz zrobić - dla „man sudo”: w większości systemów można zapobiec ucieczce powłoki za pomocą funkcji noexec sudo. Szczegółowe informacje można znaleźć w instrukcji sudoers (5). „
Więc w tym przypadku, jeśli twój administrator systemu jest zaniepokojony potencjalnym działaniem podpowłoki jako roota z poziomu vima, może użyć funkcji noexec. Ale ... wracając do początkowej sprawy - jeśli to jest TWÓJ komputer, myślę, że jesteś cholernie bezpieczny, uruchamiając „sudo vim”.
źródło
Odniesienie do odpowiedzi Balphy na temat grup:
Howto: Linux Dodaj użytkownika do grupy
źródło