Pengguna irc di #Vim mendesak saya untuk tidak menggunakan Sudo dengan Vim seperti:
sudo vim bad_idea
Ketika saya melakukan hal-hal di lokasi seperti / var / www /, saya tidak bisa menulis tanpanya. Jadi tidak menggunakan sudo menjadi masalah. Tentu saja, saya bisa membuat perubahan di lokasi yang berbeda seperti / tmp / dan kemudian salin direktori ke / var / www. Namun, saya merasakan cara yang lebih mudah.
- Jika Anda tidak "sudo Vim", mengapa?
- Jika ya untuk pertanyaan pertama, bagaimana Anda menghindari masalah untuk tidak menggunakan sudo?
Refer: /programming/1005/getting-root-permissions-on-a-file-inside-of-vi :
sumber
vim memungkinkan pengguna untuk menjalankan perintah shell sewenang-wenang, oleh karena itu banyak admin sistem tidak mengizinkan vim untuk digunakan dengan sudo.
rvim disertakan dengan vim. Ini adalah vim terbatas, yang tidak memungkinkan perintah shell. (Atau memungkinkan Anda untuk menangguhkan vim, untuk alasan yang sama.)
Apakah Anda perlu pergi ke ekstrem di kotak Anda sendiri masih bisa diperdebatkan.
sumber
sudo vim
lalu masuk:!bash
dan Anda memiliki shell sebagai root - persis mengaparvim
adasudo bash
atau tidaksudo su -
?vi
diluncurkanvim
tetapi sebagai rootvi
diluncurkanvi
. Di Ubuntuvim
digunakan dalam kedua kasus dansudo vi
juga meluncurkanvim
...Saat mengedit file konfigurasi sistem, itu benar-benar oke --- selalu ingat Anda root dan dengan demikian memiliki semua kekuatan, dan jatuhkan hak istimewa itu segera setelah Anda tidak membutuhkannya lagi.
Dalam kasus khusus
/var/www/
, yaitu halaman server web, Anda mungkin ingin berpikir tentang mengubah beberapa kepemilikan / grup / izin --- tetapi jika dan seberapa besar tergantung pada pengaturan khusus Anda (pengguna tunggal / multi, server web nyata / hanya localhost, dinamis / statis, dll.)sumber
Pertanyaan seperti ini membuatku menampar dahiku. Saya berada di sisi lain dari keamanan, "keamanan seharusnya tidak mengganggu pengalaman pengguna, kecuali jika itu diharapkan atau diperlukan untuk mencegah orang biasa melakukan aktivitas jahat."
Mencegah penggunaan sudo vim hanyalah bantuan band. Seperti yang dinyatakan sebelumnya, seseorang dapat menggunakan:
Atau
Atau
Atau
dll
Jika Anda benar-benar khawatir tentang seseorang yang melakukan sesuatu yang berbahaya pada kotak itu, jangan beri mereka hak istimewa sudo (atau root password), titik. Tidak ada sliver bullet untuk mencegah aktivitas jahat menggunakan sudo dan Anda hanya akan membuat diri Anda gila dengan "menerapkan" semua "perbaikan" untuk memastikan seseorang tidak dapat melakukan sesuatu yang berbahaya.
Seseorang menyebutkan perubahan kepemilikan / grup. Ini adalah masalah lengket seolah-olah server web dijalankan sebagai pengguna lain, dan Anda mengubah izin pada file tersebut, sekarang tiba-tiba situs Anda tidak berfungsi. Yah, jelas itu tidak akan membantu Anda. Anda dapat menambahkan diri Anda ke grup yang dijalankan server web, namun, jika grup tidak memiliki akses tulis ke file, Anda perlu melakukan chmod -R g + w * (atau file chmod individual) yang mungkin tidak apa yang Anda inginkan dan dapat merepotkan jika Anda harus chmod setiap file.
Beberapa orang bahkan menyarankan menggunakan rvim. Tentu, seseorang hanya dapat menambahkan baris di / etc / sudoers untuk hanya mengizinkan pengguna tertentu untuk sudo rvim, namun, secara logis akan bertahan bahwa jika Anda harus pergi rute itu, mungkin lebih baik untuk mengimplementasikan file manager berbasis web. Dengan cara ini berjalan sebagai pengguna server web berjalan, sehingga tidak ada masalah izin file dan Anda masih dapat memiliki kontrol granular atas siapa yang mengedit file apa.
Lagi pula, dua sen saya.
sumber
Menjalankan
sudo vim
tidak akan mengubah$HOME
direktori, jadi Anda akan menjalankan Vim dengan izin root, tetapi$HOME
masih menunjuk ke pengguna normal Anda.Jika ini adalah pertama kalinya Anda menjalankan Vim, mungkin saja
~/.viminfo
file tersebut dibuat di dalam direktori pengguna normal Anda, tetapi dengan izin root.sumber
sudo vim -c '!echo $HOME' -c q
memang memberikan folder rumah saya, tetapi di server saya itu memberikan/root
. Saya mungkin harus melihat mengapa itu, bisa karena OS X seseorang sementara Gentoo yang lain, atau bisa jadi ada hubungannya dengan bagaimana/etc/sudoers
setup..viminfo
hanya dapat diakses oleh root.JIKA INI ADALAH KOMPUTER ANDA SENDIRI ... Saya tidak melihat alasan mengapa Anda tidak dapat menggunakan 'sudo vim', selain dari kasus tepi yang dicatat Denilson - yang mungkin membuat ~ / .viminfo Anda dimiliki oleh root.
Jika tidak - jika administrator sistem membatasi apa yang Anda bisa dan tidak bisa lakukan - per "man sudo": "pada kebanyakan sistem, Anda dapat mencegah shell lolos dengan fungsi noexec sudo. Lihat manual sudoers (5) untuk detailnya. "
Jadi dalam kasus ini, jika sysadmin Anda khawatir tentang potensi Anda menjalankan subshell sebagai root dari dalam vim, mereka dapat menggunakan kemampuan noexec. Tapi ... kembali ke kasus awal - jika ini adalah komputer ANDA, saya pikir Anda cukup aman menjalankan 'sudo vim'.
sumber
Referensi balasan balpha tentang grup:
Howto: Linux Tambah Pengguna Ke Grup
sumber