Problem z uprawnieniami w folderze / media / user uniemożliwia mi dostęp do mediów zewnętrznych


11

Kiedy podłączam zewnętrzny dysk twardy, wkładam dysk DVD lub próbuję zobaczyć, co mam na dysku USB, zwykle zachowuje się dziwne zachowanie.

Systemy plików działają poprawnie. Kiedy loguję się jako root sudo su, widzę zawartość /media/casper/externaldriveidealnie dobrze. Mój użytkownik jednak caspernie może. Ubuntu odpowiada na każdą akcję dotyczącą lokalizacji Permission denied:

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

Postanowiłem trochę pogłębić uprawnienia (problemy) do /mediafolderu. Jak casperwidzę, co następuje:

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/

Uderzyło mnie to, że napisano total 16, podczas gdy jest tylko najwyżej 6 ofert. Ponownie uruchomiłem polecenie, ale jako root. Wynik był taki sam, dziwny. (czy ktoś może mnie oświecić?)

W każdym razie bardziej uderzyło mnie to, że /media/casperkatalog nie jest mój i nie mogę uzyskać do niego dostępu. Kusiło mnie tylko chown -Rbazinkas, ale po tym, jak się opanowałem, przeszukałem coś w stylu „Folder użytkownika multimediów, nie mój, pomóż mi”.

Minęło trochę czasu, ale w końcu natknąłem się na ten wątek, w którym użytkownicy wyjaśniają cel 750 root:root /media/userfolderów. Daje to pewność, że tylko root może montować, wyświetlać i zarządzać tam systemami plików, których indywidualne uprawnienia są zmieniane na faktycznego użytkownika.

Więc jeśli moje informacje były prawidłowe, /media/casper/externaldriveuprawnienia powinny być dla mnie korzystne. Sprawdziłem,

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/

I wydaje się, że tak jest.

Więc tu utknąłem. System plików ma dla mnie uprawnienia przez całe drzewo katalogów, ale nie mogę uzyskać dostępu do pojedynczego pliku. To samo dotyczy napędów CD i USB.

Kto może mi pomóc uzyskać dostęp do moich cennych rzeczy?

A tak przy okazji. Wyżej wspomniany wątek mówi o ACL w tych /media/userfolderach, oznaczonych jako +po regularnych uprawnieniach, takich jak drwxr-x---+ 3 root root. Mój system tego nie pokazuje. Czy ACL w tych folderach jest standardem dla Ubuntu, czy też użytkownik miał do czynienia ze specjalnymi sprawami i czy powinienem się martwić, że właśnie stąd jest mój problem?

Dziękuje za przeczytanie.


1
Używam konfiguracji podwójnego rozruchu (16.04 i Win7) i widzę znak + na końcu uprawnień folderu / nośnika / użytkownika. Myślę więc, że skąd pochodzi twój problem. Znalazłem je ( 1 , 2 ) za pomocą google, ale wcześniej nie używałem acl, aby wiedzieć, czy są wystarczające, aby rozwiązać problem.
Karsus,

2
Na lscałkowite bloki Ilość 1kB używane przez pliki w katalogu, nie rekurencyjnie. Zobacz unix.stackexchange.com/a/4110/44281 .
amotzg

@Karsus Dziękuję, myślę, że znalazłeś mój problem. Wypróbuję odpowiedź Zanny poniżej i będę Cię informować na bieżąco. @ amotzg Aha, to wszystko wyjaśnia. Dzięki :)
MicroParsec

Właśnie z ciekawości, co oznacza „3” drwxr-x--- 3*?
thephoenix01

Odpowiedzi:


15

Ponieważ uprawnienia i własność /media/casper

drwxr-x---  root root 

Bez +ACL (list kontroli dostępu ) jest jasne, że tylko root może otwierać, wprowadzać, czytać lub zapisywać w tym katalogu. Skromni użytkownicy, tacy jak my, otrzymują uprawnienia na końcu ciągu ---:(

Nieuprzywilejowani ludzie otrzymują pozwolenie na dostęp do tej lokalizacji za pomocą list ACL. Nie jestem pewien, dlaczego jeszcze ich nie masz, ale możesz je skonfigurować, co może być proste lub wymagać majsterkowania:

  • aclpakiet jest wymagany (check apt-cache policy acl)
  • system plików musi być podłączony z aclopcją

Aby to sprawdzić (zamień sdxYodpowiednio dla partycji root):

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

powinien zwrócić:

Default mount options:    user_xattr acl

Domyślne opcje montowania są ustawione w /etc/mke2fs.conf

Mogą zostać zastąpione, więc sprawdź:

cat /proc/mounts | grep sdxY

wygląda mniej więcej tak:

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

Powyższe jest w porządku ( aclnie trzeba o tym wspominać), ale jeśli mówi, noaclże musisz to zmienić.

Możesz dodać opcję do domyślnych opcji montowania, takich jak:

sudo tune2fs -o acl /dev/sdxY

Lub możesz dodać acldo opcji dla linii partycji root /etc/fstabna przykład:

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

Po włączeniu list ACL użyj, setfaclaby dodać uprawnienia dla siebie. Aby nadać usernameuprawnienia do odczytu i wykonywania w / media / casper (musisz mieć uprawnienia do wykonania, aby wejść do katalogu lub przeszukać jego zawartość):

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

Możesz zastąpić usernameuid (prawdopodobnie jesteś 1000- sprawdź za pomocą idkomendy)

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

aby zobaczyć uprawnienia ACL, których używasz getfacltak jak Oli w swojej odpowiedzi

getfacl /media/casper

Aby usunąć uprawnienia ACL od użytkownika

sudo setfacl -x u:username /media/casper

Aby wyczyścić wszystkie uprawnienia ACL

sudo setfacl -b /media/casper

Uwaga: sam oszukiwałem i zadawałem pytanie, dlaczego jest tyle wpisów /media. Odpowiedź jest tutaj


1
Dziękuję @Zanna: apt-cache policy aclzwraca ACL jest zainstalowany i najnowszy. Default mount optionswspomina acl. cat /proc/mountnie wspomina noacl. Myślę, że muszę teraz ręcznie dodać uprawnienia ACL, ponieważ z jakiegoś powodu nie zostały one wykonane. Użyłem opisanych poleceń, aby dać sobie uprawnienia rx do /media/casperkatalogu i cieszę się, że mogę ponownie uzyskać dostęp do zewnętrznych mediów. Dziękuję Zanna!
MicroParsec,

Tak, cieszę się, że to naprawiłeś: D
Zanna

2

Gdy chcesz zezwolić na dostęp do dysku Windows z Ubuntu

Normalne chmodpolecenie nie będzie działać, jeśli jest to dysk Windows NTFS.

Poniższe działa dla mnie.

Otwórz plik /etc/mtab:

gedit /etc/mtab

Znajdź nazwę napędu w tym pliku (po prostu najedź myszką na dysk, dla którego szukasz rozwiązania, w moim przypadku GUI pokazuje inną nazwę, a na nim mysz pokazuje /media/user-name/drive-name)

Teraz w /etc/mtab:

Wyszukaj nazwę napędu w pliku i sprawdź, do którego napędu jest przypisany napęd zamontowany (w moim przypadku - /dev/sda4)

Teraz zamontuj ten dysk za pomocą:

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

Teraz jestem w stanie wykonać moje pliki wykonywalne, ale nie będę mógł zobaczyć zawartości nazwy napędu, więc odmontowałem dysk i ponownie go zamontowałem.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.