Bir kullanıcının okuyabildiği, ancak kökün okuyamadığı dizin?


9

Ev sahibimin altında ".gvfs" adında bir dizin var. Normal kullanıcı hesabım olarak, iyi okuyabilirim:

~ $ ls -lart ~raldi/.gvfs
total 4
dr-x------  2 raldi raldi    0 2009-05-25 22:17 .
drwxr-xr-x 60 raldi raldi 4096 2009-05-25 23:08 ..
~ $ ls -d ~raldi/.gvfs
dr-x------ 2 raldi raldi 0 2009-05-25 22:17 /home/raldi/.gvfs

Ancak, kök olarak "ls" hatta "ls -d" yapamam:

# ls ~raldi/.gvfs
ls: cannot access /home/raldi/.gvfs: Permission denied
# ls -d ~raldi/.gvfs
ls: cannot access /home/raldi/.gvfs: Permission denied

Ve sadece emin olmak için:

# echo $UID $EUID
0 0

Bu sadece Ubuntu 8.10'un basit bir ev kurulumu, NFS veya böyle garip bir şey yok. Dizin, dünya tarafından okunamayan (ve dünya-x-mümkün değil) olarak işaretlenmiş olduğunu görüyorum, ancak kök olduğunuzda hiçbirinin uygulanmadığını düşündüm. Örneğin, / tmp içinde bir mod-000 dizini oluşturabilir ve root olmayan bir kullanıcıya verebilirim ve root, onu yazarken, yazarken hiçbir sorun yaşamaz.

Neler olduğuna dair bir fikrin var mı?


İlginç bir şekilde, sshfs'yi normal bir kullanıcı olarak kullanırken ve daha sonra bağlama noktası üzerinde kök olarak herhangi bir işlem yapmaya çalışırken aynı belirtileri alırsınız. Kök kullanıcının bağlama noktasını hiç görüntüleme izni yoktur. İzinleri bile göremezsiniz, ls -l tüm izin bitleri için tüm soru işaretlerini döndürür.
GodEater

1
"Bu sadece Ubuntu 8.10 basit bir ev kurulumu, NFS veya böyle garip bir şey". Uhm, sigorta olduğunu "böyle garip bir şey"
Thomas

Yanıtlar:


21

Gönderen: http://bugzilla.gnome.org/show_bug.cgi?id=534284

Bu talihsiz bir durum, ancak çekirdek seviyesinde sigorta insanlar tarafından alınan bir karardır (fs'yi bağlayandan başka bir kullanıcı, kök de dahil olmak üzere ona erişemez) ve bu konuda yapabileceğimiz hiçbir şey yoktur.

Ayrıca bakınız: https://bugs.launchpad.net/gvfs/+bug/225361

Çözüm /etc/fuse.conf dosyanızı güncellemek ve user_allow_other seçeneğini etkinleştirmek gibi görünüyor . Ayrıca daha sonra allow_root veya allow_other geçmek için gvfs almanız gerekebilir, ancak bunu nasıl yapacağımdan emin değilim.

Elbette, gvfs gibi tüm GUI araçlarından vazgeçmek ve dosya sistemlerinizi, bir şeyin tam olarak nasıl monte edildiğini tam olarak kontrol ettiğiniz komut satırından monte etmek çok daha kolay olabilir.


5

.gvfsDizin Gnome uzak dosyalar üzerinde çalışırken VFS-farkında değildir programlara yolları geçebilir böylece sanal dosya sistemleri için doğrudan dosya sistemi yolu ile (örneğin uzaktan samba bağlar, webdav bağlar) içerir Gnome VFS userspace dosya sistemidir.

Bir FUSE montaj ve uygulama olduğundan, kök izinlerini reddedebilir - bu durumda erişim kontrollerini yapan ajan çekirdeği değil, FUSE uygulamasıdır.

Varsayılan olarak, gvfsarka plan programı sahibin yalnızca dizini geçmesine izin verir.


0

Olasılık sırasına göre birkaç şey olabilir

  • olası dosya sistemi bozulması için / var / log / messages (veya / var / log / syslog)
  • SELinux kullanıyor musunuz?
  • google, lsattr ~ raldi / .gvfs'nin bu dosyaya uygulanan özel yetenekleri gösterebileceğini önerir.

Disk üzerinde fsck koştum ve herhangi bir sorun bulamadı. SELinux kullanmıyorum. Kullanıcı hesabı olarak lsattr çalıştırırsam çıkış olmaz. Kök olarak çalıştırırsam, "izin reddedildi" hatası alıyorum.
raldi

Görünüşe göre Zoredache'nin cevabı var
Dave Cheney
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.