ls: .gvfs dosyasına erişilemiyor: İzin reddedildi


11

Terminalde bir uygulamayı root (örneğin sudo gedit /etc/default/varnish) olarak çalıştırdığımda , daha sonra başka bir terminal açtığımda terminalin üst satırında "ls: .gvfs: İzin verilmedi" hatası alıyorum.

İnternette bir çözüm buldum

  umount /path/to/.gvfs
  rm -rf .gvfs

ancak sorunu yalnızca geçici olarak giderir.

Ben iki örneklerini monte olduğu görünüyor GVFS benim sisteminde

  $ sudo mount |grep gvfs
    gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=33)
    gvfsd-fuse on /home/****/.gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0)

Bununla ilgili olup olmadığını bilmiyorum, birkaç ay önce ana klasörümdeki izni değiştirmek zorunda kaldım

  sudo chown -R $USER:www-data

Lütfen düzeltmeme yardım eder misin?

EDIT: Çıktıktan sonra /run/user/1000/gvfsbu hatayı almıyorum.


1
sudoGrafiksel programlarla çalışmamanızın nedenlerinden biri de budur .
muru


@muru Link için teşekkürler, neden grafik uygulamaları açmak için sudo çalıştırmamam gerektiğini iyi açıklıyor. Ama neden hala bu hata mesajını almaya başladığımı merak ediyorum
kenn

Bağlantılı sorudaki en iyi yanıttan alıntı yapıldığında: "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 çalıştırdığınızda)."
muru

1
Bu özel durum aslında şüpheleniyorsanız değil ilişkilendirilebilir düz sudo ile grafiksel programları çalıştıran . Kullanıcı .gvfsklasörlerindeki izinler / erişim her zaman ilginç ve (bazılarımız için) şaşırtıcı olmuştur .
Eliah Kagan

Yanıtlar:


10

Grafik uygulamaları ile çalıştırmak sudobazen böyle sorunlara yol açabilir.

açıklama

sudo(root olarak çalışan benzeri) süper ayrıcalıklarıyla programını yürüten, ancak program hala geçerli ev dizini görür senin ana dizine.

Böylece, yazılım yapılandırma dosyalarını yazdığında, ana dizininizde kök kullanıcının sahip olduğu dosyalar oluşturur . Kendiniz düzenleyemeyeceğiniz veya silemeyeceğiniz dosyalar ve değiştiremeyeceğiniz için çalışan yazılımlarla sonuçlanırsınız ve bu da daha fazla soruna yol açar.

En iyi çözüm nedir?

Alternatif vardır: gksudo.

Bu sudo değişkeni, ana dizin gibi ortam değişkenlerini, kök gibi grafik uygulamaları çalıştırmayı çok daha güvenli hale getirecek ve programları ana dizininizde kök sahip dosyalar oluşturmakla karıştırmayacak şekilde ayarlayacaktır.

Bu neden grafik uygulamaları etkiler?

Bu sadece grafiksel uygulamaları etkilemez, tüm grafiksel uygulamaları da etkilemez. Yapılandırmayı geçerli kullanıcının ana dizini içinde saklayan uygulamaları etkiler. Bu grafik uygulamalar arasında daha yaygındır.

Bazen uygulamalar sudo ile çalıştırılıp çalıştırılmadığını algılayabilir ve davranışlarını buna göre ayarlayabilir, ancak bu genellikle sudo ile çalıştırılması beklenmeyen grafik uygulamalarda yaygın değildir.

Sorunu nasıl düzeltebilirim?

Ana dizininizde kök sahip olduğu dosyaları ve dizinleri bulmanız ve kaldırmanız gerekir. Onları kaldırmak, kullanıcı için değil, kök kullanıcı için tasarlandıkları için sahipliklerini değiştirmekten daha iyidir, bu nedenle sahipliği değiştirirseniz beklenmedik etkiler olabilir. Onlarda daha sonra istediğiniz bir şey olduğuna karar vermeniz durumunda elbette onları yedekleyebilirsiniz.

Ana dizininizde köklü dosyaları bulmak için:

find ~ -user root

Bazı uygulamalarda hala sorun yaşıyorsanız (kullanıcı olarak çalıştırın), temizlemeyi /tmpve çalışmakta olan herhangi bir şeyi yeniden başlatmayı deneyin . Bazen bazı uygulamalar mevcut yapılandırma dosyalarını bozmuş olabilir ve ana dizininizdeki tüm yapılandırmalarını kaldırmanız gerekebilir , ancak umarım bu birçok kişi için geçerli olmaz.


Açıklama için teşekkür ederim. Nasıl düzeltebilirim? Yoksa herkesin benimle aynı sorunu var mı?
kenn

3
Grafik programları çalıştırırken kullanmak gksudoyerine sudo.
thomasrutter

Yani benim sistemimde yanlış bir şey yok.
kenn

2
Evet, artık ana dizininizde kök sahipli olmaması gereken kök sahipli dosyalarınız olması olasılığı dışında.
thomasrutter

2

Sadece kullanıcıya izinleri verin .gvfs/ve düzeltmesi gerekir.

sudo chown -R $USER.$USER ~/.gvfs/
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.