/ Media / user klasöründeki izin sorunu harici medyaya erişmemi engelliyor


12

Harici Sabit diskimi taktığımda, bir DVD taktığımda veya USB sürücümde ne bulduğumu görmeye çalıştığımda, tuhaf davranış olağan sonuç.

Dosya sistemleri sorunsuz bir şekilde monte edilir. Kök olarak oturum sudo suaçtığımda, /media/casper/externaldrivemükemmel para cezasının içeriğini görebiliyorum . Ancak benim kullanıcım casper, yapamaz. Ubuntu, konumu içeren her eyleme yanıt verir Permission denied:

casper@casper-desktop:/media$ ll /media/casper/externaldrive
ls: cannot access '/media/casper/externaldrive': Permission denied

/mediaKlasörün iznini (problemlerini) araştırmaya karar verdim . Olarak casper, aşağıdakileri görüyorum:

casper@casper-desktop:/media$ ls -alF
total 16
drwxr-xr-x  4 root root 4096 apr 21 17:47 ./
drwxr-xr-x 25 root root 4096 jul 29 15:43 ../
drwxr-x---  3 root root 4096 aug  3 21:02 casper/
lrwxrwxrwx  1 root root   45 apr 21 17:47 .directory -> /etc/kubuntu-default-settings/directory-media
lrwxrwxrwx  1 root root   42 apr 21 17:47 .hidden -> /etc/kubuntu-default-settings/hidden-media
drwxr-xr-x  2 root root 4096 feb 29 23:56 home/

total 16En çok 6 liste varken beni etkileyen şey buydu. Bu yüzden komutu tekrar çalıştırdım, ama olarak root. Sonuç aynıydı, garipti. (kimse beni bu konuda aydınlatabilir mi?)

Her neyse, beni daha da etkileyen şey, /media/casperdizinin benim olmaması ve bana erişememesiydi. Ben sadece chown -Rbazinkas için cazip geldi, ama kendimi bir tutun sonra "Medya kullanıcı klasörü benim yardım değil" gibi bir şey googled.

Biraz zaman aldı ama sonunda kullanıcıların klasörlerin amacını açıkladığı bu konuya rastladım 750 root:root /media/user. Yalnızca root'un dosya sistemlerini bağlayabildiğinden, görüntüleyebildiğinden ve yönetebildiğinden emin olur.

Bilgilerim doğruysa, /media/casper/externaldriveizinler benim için uygun olmalı. Kontrol ettim,

root@casper-desktop:/media/casper# ll
total 12
drwxr-x--- 3 root   root   4096 aug  3 21:02 ./
drwxr-xr-x 4 root   root   4096 apr 21 17:47 ../
drwxrwxrwx 1 casper casper 4096 aug  3 20:20 externaldrive/

Ve durum böyle görünüyor.

Böylece sıkıştığım yer burası. Dosya sisteminin dizin ağacı boyunca benim için izinleri var, ancak tek bir dosyaya erişemiyorum. Bu, CD'ler ve USB sürücüler için aynıdır.

Kıymetlerime erişmeme kim yardım edebilir?

Oh, ve bu arada. Yukarıda belirtilen iş parçacığı, bu /media/userklasörlerdeki +gibi düzenli izinlerden sonra gösterilen ACL'den bahseder drwxr-x---+ 3 root root. Sistemim bunu göstermiyor. Bu klasörlerdeki ACL, Ubuntu için standart mıdır veya kullanıcının özel şeyleri var mıydı ve sorunumun nereden geldiğinden endişelenmem gerekir mi?

Okuduğunuz için teşekkürler.


1
Çift önyükleme kurulumu (16.04 ve Win7) kullanıyorum ve klasör / medya / kullanıcı izinlerinin sonunda bir + görüyorum. Sanırım sorunun nereden geliyor? Bu ( 1 , 2 ) googleing aracılığıyla buldum ama sorununuzu çözmek için yeterli olup olmadığını bilmek için daha önce acl kullanmadım.
Karsus

2
lsToplam sayım 1kb dizindeki dosyaları tarafından kullanılan bloklar, sigara yinelemeli. Bkz. Unix.stackexchange.com/a/4110/44281 .
amotzg

@Karsus Teşekkür ederim, sanırım sorunumu buldun. Zanna'nın cevabını aşağıda deneyeceğim ve sizi güncel tutacağım. @ amotzg Aha, işleri temizler. Teşekkürler :)
MicroParsec

Sadece meraktan, "3" ne anlama drwxr-x--- 3*geliyor?
thephoenix01

Yanıtlar:


15

İzinler & sahipliği yana /media/casperare

drwxr-x---  root root 

+ACL'ler ( Erişim Kontrol Listeleri ) için hayır olmadan , bu dizinin yalnızca kökün açabileceği, girebileceği, okuyabileceği veya yazabileceği açıktır. Bizim gibi mütevazi kullanıcılar dizginin sonunda izinleri alırlar ---:(

Ayrıcalıklı olmayan halkın bu konuma EKL'lerle erişim izni alıyoruz. Bunlara neden sahip olmadığınızdan emin değilim, ancak bunları basit veya biraz titizlik gerektirebilecek şekilde ayarlayabilirsiniz:

  • aclgerekli olan ambalaj (kontrol apt-cache policy acl)
  • dosya sistemi aclseçeneği ile monte edilmelidir

İkincisini kontrol etmek için ( sdxYkök bölümünüz için uygun şekilde değiştirin ):

sudo tune2fs -l /dev/sdxY | grep "Default mount options:"

dönmelidir:

Default mount options:    user_xattr acl

Varsayılan bağlama seçenekleri /etc/mke2fs.conf

Geçersiz kılınabilirler, bu yüzden kontrol edin:

cat /proc/mounts | grep sdxY

şuna benzer:

/dev/sdxY / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0

Yukarıdakiler iyidir, ( aclbelirtilmesi gerekmez) ama eğer noacldeğiştirmeniz gerekiyorsa.

Seçeneği, aşağıdaki gibi varsayılan bağlama seçeneklerine ekleyebilirsiniz:

sudo tune2fs -o acl /dev/sdxY

Veya aclkök bölüm satırının seçeneklerine /etc/fstabörneğin:

UUID=whatever /     ext4    errors=remount-ro,acl    0       1

ACL'ler etkinken, setfaclkendiniz için izin eklemek için kullanın . username/ Media / casper üzerinde okuma ve yürütme izinleri vermek için (bir dizin girmek veya içeriğini aramak için yürütme iznine ihtiyacınız vardır):

sudo setfacl -m u:username:rx /media/casper

usernameUid ile değiştirebilirsiniz (muhtemelen sizsiniz 1000- idkomutla kontrol edin )

sudo setfacl -m u:1000:rx /media/casper

getfaclOliw'nin yaptığı gibi kullandığınız ACL izinlerini görmek için

getfacl /media/casper

Bir kullanıcıdan ACL izinlerini kaldırmak için

sudo setfacl -x u:username /media/casper

Tüm EKL izinlerini temizlemek için

sudo setfacl -b /media/casper

Not: Aldattım ve neden bu kadar çok giriş olduğu hakkında kendime bir soru sordum /media. Cevap burada


1
@Zanna teşekkür ederim: apt-cache policy aclACL yüklü ve en son döner. Default mount optionsbahseder acl. cat /proc/mountbahsetmez noacl. Bu yüzden ACL izinlerini şimdi manuel olarak eklemem gerekiyor, çünkü bazı nedenlerden dolayı yapılmamış. /media/casperDizin için rx izinleri vermek için tanımladığınız komutları kullandım ve harici medyama tekrar erişebildiğimi söylemekten memnuniyet duyuyorum. Teşekkürler Zanna!
MicroParsec

Yay, düzelttiğin için mutlu: D
Zanna

2

Ubuntu'dan bir Windows sürücüsüne erişim izni vermek istediğinizde

chmodWindows NTFS sürücüsü ise normal komut çalışmaz.

Aşağıdakiler benim için çalışıyor.

Dosyayı açın /etc/mtab:

gedit /etc/mtab

Bu dosyadaki sürücü adını bulun (sadece çözüm aradığınız sürücünün üzerine fareyle gidin, benim durumumda GUI farklı bir ad gösteriyor ve farenin üzerinde gösteriliyor /media/user-name/drive-name)

Şimdi /etc/mtab:

Dosyada sürücü adını arayın ve takılı sürücünüzün hangi sürücüye atandığını kontrol edin (benim durumumda - /dev/sda4)

Şimdi bu sürücüyü şunlarla monte edin:

sudo ntfs-3g /dev/sda4 /media/"$USER"

Şimdi çalıştırılabilir dosyalarımı yürütebiliyorum, ancak sürücü adı içeriğini göremiyorum, bu yüzden sürücünün bağlantısını kestim ve tekrar taktım.

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.