Il problema di autorizzazione nella cartella / media / user mi impedisce di accedere ai media esterni


11

Quando collego il mio disco rigido esterno, inserisco un DVD o provo a vedere cosa ho sul mio disco USB, un comportamento peculiare è il solito risultato.

Il filesystem si monta bene. Quando accedo come root sudo su, posso vedere il contenuto della /media/casper/externaldriveperfezione. Il mio utente, tuttavia, caspernon può. Ubuntu risponde a ogni azione che coinvolge la posizione Permission denied:

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

Ho deciso di scavare nell'autorizzazione (problemi) della /mediacartella. Come casper, vedo quanto segue:

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/

Ciò che mi ha colpito è che ha detto total 16, mentre ci sono solo 6 elenchi. Quindi ho eseguito nuovamente il comando, ma come root. Il risultato è stato lo stesso, strano. (qualcuno può illuminarmi su questo?)

Ad ogni modo, ciò che mi ha colpito ancora di più è stato il fatto che la /media/casperdirectory non è mia e non è accessibile da me. Sono stato tentato di chown -Ruscirne solo con i bazinka, ma dopo essermi preso da solo ho cercato su Google qualcosa come "La cartella dell'utente multimediale non la mia mi aiuta".

Ci è voluto un po 'ma alla fine mi sono imbattuto in questo thread, in cui gli utenti spiegano lo scopo delle 750 root:root /media/usercartelle. Si assicura che solo root possa montare, visualizzare e gestire i filesystem lì, di cui i singoli permessi vengono cambiati per l'utente reale.

Quindi, se le mie informazioni erano corrette, le /media/casper/externaldriveautorizzazioni dovrebbero essere favorevoli per me. Ho controllato,

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/

E questo sembra essere il caso.

Quindi è qui che sono bloccato. Il filesystem ha i permessi per me attraverso l'albero delle directory, ma non riesco ad accedere a un singolo file. Lo stesso vale per le unità CD e USB.

Chi può aiutarmi ad accedere al mio prezioso?

Oh, e comunque. Il thread sopra menzionato parla di ACL su queste /media/usercartelle, indicato da un +dopo le autorizzazioni regolari, come drwxr-x---+ 3 root root. Il mio sistema non lo mostra. ACL su queste cartelle è standard per Ubuntu o l'utente ha cose speciali in corso, e dovrei essere preoccupato che questo è da dove proviene il mio problema?

Grazie per aver letto.


1
Uso una configurazione a doppio avvio (16.04 e Win7) e vedo un + alla fine delle autorizzazioni di cartella / media / utente. Quindi penso che ci sia da dove viene il tuo problema. Ho trovato questi ( 1 , 2 ) tramite Google, ma non ho mai usato acl prima di sapere se sono abbastanza per risolvere il tuo problema.
Karsus,

2
Il lsconteggio totale di 1 KB blocca i file nella directory in modo non ricorsivo. Vedi unix.stackexchange.com/a/4110/44281 .
amotzg

@Karsus Grazie, penso che tu abbia trovato il mio problema. Proverò la risposta di Zanna di seguito e ti terremo aggiornato. @ amotzg Aha, che chiarisce le cose. Grazie :)
MicroParsec l'

Solo per curiosità, cosa significa "3" drwxr-x--- 3*?
thephoenix01,

Risposte:


15

Dal momento che le autorizzazioni e la proprietà di /media/caspersono

drwxr-x---  root root 

Con no +per ACL ( Access Control Lists ) è chiaro che solo root può aprire, inserire, leggere o scrivere in questa directory. Gli utenti umili come noi ottengono i permessi alla fine della stringa ---:(

Noi non privilegiati otteniamo il permesso di accedere a questa posizione con ACL. Non sono sicuro del motivo per cui non li hai già, ma puoi configurarli, il che potrebbe essere semplice o richiedere un piccolo aggiustamento:

  • il aclpacchetto è richiesto (controllare apt-cache policy acl)
  • il filesystem deve essere montato con l' aclopzione

Per controllare quest'ultimo (sostituire in modo sdxYappropriato per la partizione di root):

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

dovrebbe restituire:

Default mount options:    user_xattr acl

Le opzioni di montaggio predefinite sono impostate in /etc/mke2fs.conf

Potrebbero essere sostituiti, quindi controlla:

cat /proc/mounts | grep sdxY

sembra qualcosa del tipo:

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

Quanto sopra va bene ( aclnon è necessario menzionarlo) ma se dice che noaclè necessario modificarlo.

È possibile aggiungere l'opzione alle opzioni di montaggio predefinite come questa:

sudo tune2fs -o acl /dev/sdxY

In alternativa, è possibile aggiungere aclad esempio alle opzioni per la linea di partizione root /etc/fstab:

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

Con gli ACL abilitati, usa setfaclper aggiungere autorizzazioni per te stesso. Per dare usernamele autorizzazioni di lettura ed esecuzione su / media / casper (è necessario eseguire le autorizzazioni per accedere a una directory o cercare il suo contenuto):

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

Puoi sostituirlo usernamecon uid (probabilmente lo sei 1000- controlla con il idcomando)

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

per vedere le autorizzazioni ACL che usi getfaclcome Oli ha fatto nella sua risposta

getfacl /media/casper

Per rimuovere le autorizzazioni ACL da un utente

sudo setfacl -x u:username /media/casper

Per cancellare tutte le autorizzazioni ACL

sudo setfacl -b /media/casper

Nota: ho imbrogliato e ho posto una domanda sul perché ci sono così tante voci in /media. La risposta è qui


1
Grazie @Zanna: apt-cache policy aclritorna ACL è installato e più recente. Default mount optionsmenzioni acl. cat /proc/mountnon menziona noacl. Quindi suppongo di dover aggiungere manualmente le autorizzazioni ACL, poiché per qualche motivo sono state disfatte. Ho usato i comandi che hai descritto per concedermi le autorizzazioni rx per la /media/casperdirectory e sono felice di dire che posso accedere di nuovo al mio supporto esterno. Grazie Zanna!
MicroParsec l'

Sì, felice di averlo riparato: D
Zanna,

2

Quando si desidera autorizzare l'accesso a un'unità Windows da Ubuntu

Il normale chmodcomando non funzionerà se si tratta di un'unità Windows NTFS.

Quanto segue funziona per me.

Apri il file /etc/mtab:

gedit /etc/mtab

Trova il nome dell'unità in questo file (passa il mouse sull'unità per la quale stai cercando una soluzione, nel mio caso la GUI mostra un nome diverso e al passaggio del mouse mostra /media/user-name/drive-name)

Ora in /etc/mtab:

Cerca il nome dell'unità nel file e controlla a quale unità è assegnata l'unità montata (nel mio caso - /dev/sda4)

Ora monta questa unità con:

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

Ora sono in grado di eseguire i miei eseguibili, ma non sarò in grado di vedere il contenuto del nome dell'unità, quindi ho smontato l'unità e l'ho montato di nuovo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.