Autorizzazione cp Linux negata sul file system ntfs


0

Qualcuno potrebbe gentilmente spiegare perché ricevo questo errore di autorizzazione negata? Personalmente sono utente ge come dimostra che ho il permesso di leggere e scrivere sia per la fonte che per la destinazione. Il mio sistema è slackware 14 e il dispositivo su cui sto scrivendo è il mio ereader, un ntfs-3g file system.

Ho altri file system NTFS, chiavette USB, HDD esterni ecc. A cui posso scrivere come utente. Non vi è alcuna differenza percettibile nell'impostazione delle autorizzazioni per nessuno di essi. Essendo ntfs, tutti sono di proprietà di root del gruppo root. È solo con questo ereader che ho questo problema (anche se posso scriverlo come root). Quindi credo che il problema sia specifico di questo dispositivo, ma non ho idea di quale possa essere.

~ $ cp /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt /500gb/database/media/  
cp: cannot create regular file '/500gb/database/media/Wyndham-TheMidwichCuckoos.txt': Permission denied  
~ $ ls -l /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt                         
-rw-r--r-- 1 g users 380183 Aug 10 11:04 /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt  
~ $ ls -l /500gb/database/  
total 32  
drwxr-xr-x 2 root root 8192 Aug 10 11:23 cache/  
drwxr-xr-x 3 root root 8192 Aug  5 13:26 layout/  
drwxr-xr-x 2 root root 8192 Aug  9 14:07 media/  
drwxr-xr-x 2 root root 8192 Aug  5 17:28 sync/  
~ $

Il ereader è fat32, avevo ipotizzato che fosse ntfs,
~ $ mount
/ dev / sda3 su / tipo ext2 (rw)
proc su / proc tipo proc (rw)
sysfs su / sys tipo sysfs (rw)
/ dev / sda4 su / home type ext2 (rw)
tmpfs on / dev / shm type tmpfs (rw)
/ dev / sda1 on / winxp type fuseblk (rw, allow_other, blksize = 4096, default_permissions)
/ dev / sdb on / 500gb tipo vfat (rw)
/ dev / sdd1 on / 3tb type fuseblk (rw, allow_other, blksize = 4096)
~ $ cp /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt / 3tb
~ $ cp /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt / 500gb
cp: impossibile creare il file regolare '/500gb/Wyndham-TheMidwichCuckoos.txt': autorizzazione negata
~ $

Non sono in grado di modificare i permessi su questo ereader, né come root, né come utente
Come root, sembra funzionare, ma non cambia nulla
/ home / g # chmod 777 -R / 500gb / database
/ home / g # ls - l / 500gb / database
totale 32
drwxr-xr-x 2 radice radice 8192 10 agosto 11:23 cache
drwxr-xr-x 3 radice radice 8192 5 agosto 13:26 layout
drwxr-xr-x 2 radice radice 8192 9 agosto 14: 07 media
drwxr-xr-x 2 root root 8192 5 ago 17:28 sync

Come utente, il chmod viene rifiutato quindi
~ $ chmod 777 -R / 500 gb / database
chmod: modifica delle autorizzazioni di '/ 500 gb / database': operazione non consentita
chmod: modifica delle autorizzazioni di '/ 500 gb / database / cache': operazione non consentita
chmod: modifica delle autorizzazioni di '/500gb/database/cache/cacheExt.xml': operazione non consentita
chmod: modifica delle autorizzazioni di '/500gb/database/cache/media.xml': operazione non consentita
chmod: modifica delle autorizzazioni di '/ 500gb /database/cache/cacheExtSchema_1.1.xsb ': operazione non consentita
chmod: modifica delle autorizzazioni di' / 500gb / database / media ': operazione non consentita
chmod: modifica delle autorizzazioni di' /500gb/database/media/Stevenson-TreasureIsland.txt ': Operazione non permessa
chmod: modifica delle autorizzazioni di '/500gb/database/media/Rendell-WolftotheSlaughter.txt': Operazione non consentita

Questo processo mi ha aiutato, grazie a Miroslav Koskar
/ home / g # mount | grep sdb
/ home / g # mount / dev / sdb -o uid = 1000, gid = 100 / 500gb
/ home / g # mount | grep sdb
/ dev / sdb on / 500 gb tipo vfat (rw, uid = 1000, gid = 100)
/ home / g # ls -l / 500gb / database
totale 32
drwxr-xr-x 2 g utenti 8192 ago 10 11:23 cache
drwxr-xr-x utenti 3 g 8192 agosto 5 13:26 layout
drwxr-xr-x utenti 2 g 8192 ago 10 12:51 media
drwxr-xr-x utenti 2 g 8192 ago 5 17:28 sync
/ home / g #
~ $ cp /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt / 500gb / database / media
~ $


Hai visto questo ? Probabilmente ha qualcosa a che fare con il tuo problema
VL-80

Spiacenti, avrei dovuto fornire le informazioni aggiuntive (paragrafo 2) che ho appena aggiunto al post originale. Posso scrivergli come root, e le sue autorizzazioni, proprietà ecc. Sono identiche ad altri dispositivi NTFS a cui posso scrivere come utente
user985675

Montare l'ereader e uno dei tuoi "altri file system NTFS", digitare mounte inviare l'output da quello. Inoltre, verifica che, su altri dispositivi, tu (come utente non root) sia possibile creare nuovi file in directory di proprietà root e in modalità 755 ( rwxr-xr-x) .
Scott,

Aggiunto alla fine del post originale
user985675

Risposte:


1

Mi sembra che le autorizzazioni non siano impostate correttamente.

  1. sei utente ge puoi leggere un file = OK

  2. ma non puoi creare un file in una destinazione perché la directory medianon è scrivibile da te, solo rootpuoi farlo

Quindi copia rooto modifica le autorizzazioni sulla destinazione in modo da avere un'autorizzazione di scrittura sulla mediadirectory.


Come sottolineato, non è possibile modificare autorizzazioni o proprietà sul filesystem NTFS montato. In tal caso esiste la possibilità di utilizzare le opzioni di montaggio appropriate. Estratto sottoman mount

uid = valore, gid = valore e umask = valore

Imposta l'autorizzazione del file sul filesystem. Il valore di umask è espresso in ottale. Per impostazione predefinita, i file sono di proprietà di root e non sono leggibili da qualcun altro.


Esempio: (per /dev/sdc1con file system FAT32)

Verificare che il dispositivo non sia montato (di seguito dovrebbe tornare senza uscita)

$ mount | grep sdc1

Montare il dispositivo con uide gidset di opzioni

$ sudo mount /dev/sdc1 -o uid=1000,gid=1000 /mnt

Verifica il mountpoint

$ mount | grep sdc1

/dev/sdc1 on /mnt type vfat (rw,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)

Non è possibile modificare la proprietà o il gruppo di file system ntfs, sono sempre root: root. Per quanto ne so, la prima triade di autorizzazioni mostrata da ls -l si riferisce all'utente corrente (in questo caso me stesso, g), la seconda triade a tutti gli altri utenti dello stesso gruppo e la terza triade è a tutti altri gruppi, quindi ho il permesso di scrivere per questo dispositivo.
user985675

1
Bene, la prima triade non è per l'utente corrente ma per il proprietario . Quindi non hai i permessi corretti e questo è il problema. Per NTFS, giusto potrebbe essere un problema che non è possibile modificare l'autorizzazione durante il montaggio. In quel caso penso che tu possa specificare la proprietà con qualche opzione di mount.
Miroslav Koškár,

Mi scuso, hai ragione. Non solo, l'ereader è fat32 piuttosto che ntfs come avevo ipotizzato, e il problema sembra essere che non posso affatto cambiare i suoi permessi, né come root né come utente. Vedi le informazioni aggiuntive aggiunte alla fine del post originale
user985675

Forse dovresti impostare le opzioni di mount come indicato nella mia risposta, sono le stesse per i filesystem NTFS e FAT.
Miroslav Koškár,

Come questo? / home / g # mount -t vfat -O uid = 1000, gid = 100, umask = 0755 / dev / sdb / 500 gb / home / g # ls -l / 500 gb / database totale 32 drwxr-xr-x 2 root root 8192 agosto 10 11:23 cache drwxr-xr-x 3 radice radice 8192 5 agosto 13:26 layout drwxr-xr-x 2 radice radice 8192 10 agosto 12:51 media drwxr-xr-x 2 radice radice 8192 5 agosto 17: 28 sync / home / g # chmod -R 777 / 500gb / database / home / g # ls -l / 500gb / database totale 32 drwxr-xr-x 2 root root 8192 10 agosto 11:23 cache drwxr-xr-x 3 root root 8192 5 agosto 13:26 layout drwxr-xr-x 2 root root 8192 10 agosto 12:51 media È lo stesso di prima
user985675

0

La mediadirectory è di proprietà di root(con un gruppo di root) ed è la modalità 755, quindi è scrivibile solo dal suo proprietario ( root). Stai cercando di creare un file in quella directory (non stai sovrascrivendo un file esistente, vero?) Che viene trattato come una modifica della directory. E non stai correndo come root. Questo è probabilmente il motivo per cui non hai il permesso.

O chownla mediadirectory a te stesso (o chmodin modo che tu possa scrivergli), oppure esegui il cpsotto suo sudo.


Ecco il risultato di chown su / 500 gb. Come vedi non fa alcuna differenza per la configurazione esistente / home / g # chmod 777 -R / 500gb / home / g # ls -l / 500gb / database / total 32 drwxr-xr-x 2 root root 8192 10 agosto 11: 23 cache drwxr-xr-x 3 radice radice 8192 5 agosto 13:26 layout drwxr-xr-x 2 radice radice 8192 9 agosto 14:07 media drwxr-xr-x 2 radice radice 8192 5 agosto 17:28 sync / home / g # ls -l / 500gb totale 8 drwxr-xr-x 6 root root 8192 5 agosto 5 17:28 database / home / g #
user985675
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.