Gedit sudo ile kullanıldığında ne gibi kötü şeyler olur?


10

Ben "bazen" kök dizininde bir şey olabilir açıklayan bu cevabı okudum /home/$USER.

Herkes bunu nasıl kanıtlayacağına dair bir örnek verebilir mi? Gerçekten kötü bir şey olduğunda, koştuğumda bir test davası ver

sudo gedit /etc/rc.local

dosyayı düzenleyin ve kaydedin.

OP'ye yardım etmeye çalışan birçok downvotes aldım ve yorumlar sudo ile gedit çalıştırmak için bir suç olduğunu söyleyerek su bastı.

Herkes gerçek bir örnek verebilir mi?

Bu sorunun neden yinelenmediğini açıkça anlattım. Bağlantılı soruya gedit'e özgü bir cevap yoktur.

Ve yaygın olarak kullanılanın neden sudo geditkötü olduğunu veya gerçekten değil, vb.


2
Her zaman sudo ile birlikte kullandım, hiç sorun yaşamadım. İyi soru.

1
@Wilf, nano ~ / .nano_history yazmayı sever, bu dosyayı sudo ile çalıştırırsanız dosyanın köküne sahip olmasına neden olur, bu yüzden nudo sudo olmadan çalıştırdığınızda dosyaya erişemediğinden şikayet eder. Basit bir sudo chowndüzeltme yapar.
psusi

1
Rc.local kadarıyla, bu bir çalışma düzeyi komut dosyası, kök sahip olması gerekir, bu nedenle sudo üzerinde hiçbir etkisi yoktur. ~ / .Bashrc ile deneyin. Kabuğun root'a ait olması ve varsayılan ayarlara gerilemesi durumunda bu dosyayı kabul edeceğini sanmıyorum. Ama bu sadece bir öneri. Yarın döneceğim, bu sorunun nasıl olduğunu görün
Sergiy Kolodyazhnyy

1
Çoğu editör için bu açılış değildir, KAYDET'e basar. mOst editros ayrıca ayarları bir yere kaydeder, bu nedenle ayarları değiştirirseniz günceller.
Wilf

2
Değeri için, sadece -Hgördüğümde kullanmak için yerinde düzenlerim .
muru

Yanıtlar:


11

Bildiğim kadarıyla sudo gedit, hiçbir şey korkunç değil, sadece zayıf uygulama, özellikle de geç. Önermek ne kadar zor olurdu sudo -H gedit?

-H,--set-home Güvenlik ilkesinin HOME ortam değişkenini hedef kullanıcının parola veritabanı girdisi tarafından belirtilen ana dizine ayarlamasını isteyin. İlkeye bağlı olarak, bu varsayılan davranış olabilir.

Ne mu olur?

Ana klasörünüzde birkaç kök dosya bulunur. Bir ( recently-used.xbel) kullanıcı sahipliğine geri dönecektir. Bu, bir dosya silindiğinde ve yeniden oluşturulduğunda meydana gelebilir. Neyin sudo geditdeğiştiğini görmek için çalıştırın find ~ -user root -group rootve neyin geri döndüğünü görün. Varsayılan olarak, bu hiçbir şey olmamalıdır.

Bu komutla, root'a ait birkaç dosya görebilirsiniz. Biri yeni .file, .gvfser ya da geç bir köklü ~/.cache/dconfve yukarıda bahsedilen olacaktır recently-used.xbel.

Yani 'gökyüzü başarısız' şeyler yok, ama yine de. Şimdi, sürekli kullanımın başka sorunlara neden olduğunu ancak burada görmediğimi iddia etmeyeceğine dair raporlar var.

sudo gedit13.10'dan itibaren a'nın root'un gedit yapılandırmasından ziyade kullanıcının gedit yapılandırmasını kullanacağına dikkat edin . Yine sadece kötü uygulama öyleyse neden yapmaya devam et ya da başkalarına bunu önerme?


1
Bazen artık kullanıcılara nano'yu nasıl kolay ve çoğu zaman gedit'i destekleyebileceğini gösterme fırsatını kullanıyorum. Gedit'in nasıl kullanılacağını bilenler için bile nano'dan daha iyi olduğu bazı durumlar vardır. Ayrıca sudo gedit muhtemelen daha kötü sudo nautilus yol açabilir .. (Burada bir pkexec etkin gedit var ama bu tartışma kapsamı dışında şu
doug

@wjandrea, sesler iyi, düzenlenmiş
doug

12

Belki de bir fantezi, ama aynı şeyi söyleyen birkaç kişi var:

  • Neden sudo yerine Gtk uygulamaları için gksudo kullanmalıyım?

    Bununla birlikte, yan etkilerin, Firefox uzantılarının yapışmaması kadar hafif olabileceği veya .ICEauthority'nizdeki izinler değiştiği için artık giriş yapamayacak kadar aşırı olabileceği başka zamanlar da vardır.

  • Kullanıcılar neden grafik uygulamaları başlatmak için normal sudo kullanmamalıdır?

    Diyelim ki root olarak gedit (grafiksel metin editörü) çalıştırıyorsunuz. Eğer sudo gedit çalıştırırsanız, program kök olarak çalışıyor olsa bile HOME ana dizininizi göstermeye devam edecektir. Sonuç olarak, gedit yapılandırma dosyalarını ana dizininize kök olarak yazar. Bu, bazen yapılandırma dosyalarının root'a sahip olmasına ve dolayısıyla sizin için erişilememesine neden olur (programı daha sonra root olarak değil, kendiniz olarak çalıştırdığınızda).

  • Bir GUI programını farklı bir kullanıcı (Debian) olarak nasıl çalıştırırım?

    Öncelikle, kullanıcıları grafiksel bir işlem yürütmek için değiştirmek için sudo veya su kullanmayın ya da satırda sorun yaşayabilirsiniz (~ / .ICEauthority değişen sahibi dikkate değer bir sorundur). Bunun yerine, aşağıdaki komutu kullanan bir kısayol oluşturun:

  • Sudo'yu Grafik Olarak Çalıştırma

    Tamamen dürüst olmak gerekirse, çoğu zaman değildir. Birçok uygulama için, grafiksel uygulamalar için sudo kullanarak ve olumsuz yan etkiler görmeyerek bunları yanlış bir şekilde çalıştırabilirsiniz.

    ...

    Bu hatalar, bazen sudobir uygulamayı başlattığında, kök ayrıcalıklarıyla başlatıldığı ancak kullanıcının yapılandırma dosyasını kullandığı için oluşur.

    Bu posta arşivi de ilginizi çekebilir.

Öyleyse test edelim.

2 yeni sanal kutu. Ubuntu 14.04. Onları asla firefox çalıştırmayın. Komutu çalıştırdığımda ne olacak sudo firefox?

tim@Hairy14CVB:~$ sudo firefox    
(process:4857): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed

...

shutdownObserver@XPIProvider.jsm:2192:13

Bu, her iki sanal kutu için de aynıdır (veya en azından çok benzerdir). Firefox çalışırken, öne çıkan bir youtube uzantısı yükledim. Sonra firefox'u kapattım ve çıktıyı kontrol ettim.

tim@Hairy14CVB:~$ ls -la .ICEauthority 
-rw------- 1 tim tim 1336 Jun  4 21:31 .ICEauthority

Peki, .ICEauthoritysorun değil! Ancak...

tim@Hairy14CVB:~$ ls -la | grep root
drwxr-xr-x  3 root root 4096 Jun  1 20:49 ..
drwx------  3 root root 4096 Jun  5 22:41 .dbus
drwx------  4 root root 4096 Jun  5 22:41 .mozilla

Giriş klasörümdeki ( /home/tim/) 3 şey root ( .., .dbusve .mozilla) 'a aittir . Bu, her iki sanal kutu için de aynıdır (veya en azından çok benzerdir).

Bu önemli mi? Emin değildim, bu yüzden şu şekilde firefox çalıştırdım:

tim@Hairy14CVB:~$ firefox

(process:4959): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
Error: Access was denied while trying to open files in your profile directory.

Ve bu çirkin hata:

resim açıklamasını buraya girin

Tam terminal çıkışı için (firefox gevezelik dahil), burada ve burada bu iki pastebine bakın .

Bu arada hala firefox'u root olarak çalıştırabilirim. Ancak şimdi daha fazla dosya değiştirildi:

tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x  4 root root  4096 Jun  3 19:46 ..
drwx------  3 root root  4096 Jun  5 22:55 .adobe
drwx------  3 root root  4096 Jun  5 22:40 .dbus
drwx------  3 root root  4096 Jun  5 22:55 .macromedia
drwx------  4 root root  4096 Jun  5 22:40 .mozilla

Bu imgur.com'a bir resim yüklediğim için miydi? Emin değil.

Bunu nasıl düzelttim? chown. Anlamıyorum, ama internet bunu söyledi, ve bu bir Sanal Kutu çok yolo.

sudo chown -R tim:tim /home/tim/

Ve bu düzeltildi. Şimdi çıktı sadece ..dosya:

tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x  4 root root  4096 Jun  3 19:46 ..

Ve bu gerçek bilgisayarımda da aynı. Oh, ve Kubuntu sanal kutumda:

tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x  3 root root  4096 May 16 14:10 ..

Hangi sudo komutunu bile çalıştırmadım. Yani her şey yolunda. sudoBir GUI uygulamasında çalıştırmayın .

Son test: -Hve -ibayraklarıyla çalıştırın :

sudo -H firefox

ve

sudo -i firefox

Ve iyi haber! Yine de, tek kök "şey" dir ... Ve köksüz koşabilirim firefox.


OP, Gedit hakkında konuşmamı istiyor.

Koştum

sudo gedit

Sonra bazı rastgele eklentiler yüklendi. Bu çıktı:

tim@Hairy14VB:~$ ls -la | grep root
ls: cannot access .gvfs: Permission denied
drwxr-xr-x  4 root root   4096 Jun  3 19:46 ..

Unutmayın ki sahipliğini bile göremiyorum, .gvfsbu yüzden bunu yaptım:

tim@Hairy14VB:~$ sudo ls -la | grep root
drwxr-xr-x  4 root root   4096 Jun  3 19:46 ..
dr-x------  2 root root      0 Jun  6 10:05 .gvfs

Bu yüzden çalıştırmak sudo geditana dizinimdeki bir dosyayı kök olarak değiştirir.

Hala gedit açabiliyorum, ama bu sefer biraz çöp çıkarıyorum:

(gedit:7422): Gtk-WARNING **: Attempting to read the recently used resources file at `/home/tim/.local/share/recently-used.xbel', but the parser failed: Failed to open file '/home/tim/.local/share/recently-used.xbel': Permission denied.

Bu ~.local/share/recently-used.xbelda değiştirilen başka bir dosya ( ) olduğunu gösterir. Sanırım bu Son kullanılan dosyalar listesi ve (şanslı tahmin) Artık artık son kullanılan dosyalar listem yok:

Orada bir dosya olmalı output2.txt.save2. Benim zamirlerim O


1
Sorunun cevabı dışında her şeyi yazdınız. Sadece gedit ile bir test çantası verin. "Cevap değil" olarak işaretlemeli miyim? Ya da "çok kötü kalite" uzun olsa da?)))
Pilot6

5
@ Pilot6 - soruda Can anyone give an example how to prove it ..... Can anyone give a real example?- ve bu geçmiş şeylere bağlantı verir ve firefox ile root olarak neler olabileceğine bir örnek verir - Yorumunuzu 'garip huysuz' bulamadığım için 'yapıcı değil' olarak işaretlemeli miyim? güzel olun :)
Wilf

1
Oh lütfen kullanmayın ls -la|grep rootama ya find . -uid 0yafind . -user root
solsTiCe

1
@ Pilot6 tamam, gedit ile ilgili bazı şeyler ekledim. Cevabıma bir şey kattığını düşünmüyorum, ama öyle istiyorsun ...
Tim

4
Hem alıntılar hem de ayrıntılı örnekler bunu çok kullanışlı hale getiriyor! Gedit'i eklemenize sevindim ama daha önce bile iyi olduğunu @Wilf ile hemfikirim. Ben (kasıtlı olarak) oraya dahil etmediğim sadece Gedit örnekleri değildir . İnsanlar isterse, oraya "bazen" hakkında kısa bir not ekleyebilirim, ama gerçekten bu sorunun ayrı olduğunu düşünüyorum ve yeniden açmaya oy verdim . Bunu yeniden açarsak, Gedit hakkında daha fazla ayrıntı içeren başka bir cevap ekleyeceğim, ancak bu yine de çoğu insan için en yararlı cevap olacak.
Eliah Kagan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.