cp - impossibile creare un file normale: autorizzazione negata


23

Voglio copiare /lib/udevma dà errore

cp -f /tmp/ok_pcscd_hotplug.sh /lib/udev

cp:cannot create regular file /lib/udev/ok_pcscd_hotplug : Permission denied

Sono root, ma non riesco a capire. cosa posso fare ?


Nel mio caso, quando avevo bisogno di copiare qualcosa su exFAT, falliva in ogni file che aveva un "|" nel suo nome file.
neverMind9

Risposte:


24

Controlla se sei davvero un superutente con:

whoami

se l'output è root, allora sei un superutente e puoi fare la copia del file con:

cp -f /tmp/ok_pcscd_hotplug.sh /lib/udev/.

altrimenti devi usare sudo:

sudo cp -f /tmp/ok_pcscd_hotplug.sh /lib/udev/.

Se non riesci ancora a scrivere nella directory, è possibile che:

  1. la directory ha il flag immutabile abilitato. verificare con lsattr.
  2. la directory è montata con permessi di sola lettura: digitare terminal:

    cat /proc/mounts(o mounto cat /etc/mtab)

    e controlla l'output, se la directory è montata in sola lettura.

Se sei nel primo caso, modifica gli attributi della directory con chattr;

  • rimuovere il flag immutabile su file o directory chattr -i <file/dir>
  • aggiungendo di nuovo un flag immutabile su file o directory chattr +i <file/dir>

In quest'ultimo caso, modifica il file /etc/fstab.


whoami - output root ho provato cp -f e sudo cp -f, ma restituisce di nuovo un errore
user278122

Ho apportato una piccola modifica alla mia risposta: ho copiato il comando dalla tua domanda, ma c'è un errore: il comando come hai scritto, sovrascriverà udev, devi aggiungere /.alla fine del comando per copiare i file in la directory
girardengo

ho provato: cp -f /tmp/ok_pcscd_hotplug.sh / lib / udev /. cp -f /tmp/ok_pcscd_hotplug.sh / lib / udev / cp /tmp/ok_pcscd_hotplug.sh / lib / udev non capisco, sono root ma non copiato dove si trova il problema
user278122

Ho modificato la mia risposta, mountlsattr /lib/
inserisci

mount / lib / - mount: impossibile trovare / lib / in / etc / fstab o / etc / mtab lsattr / lib / - ioctl non appropriato per il dispositivo durante la lettura di flag sull'output lib / nomefile per ogni file
user278122

3

Non è necessario ogni volta che devi essere root per questo scopo. Quindi, se vuoi farlo con l'utente root, va bene, ma se vuoi farlo senza root, hai 2 opzioni:

  1. Controlla le autorizzazioni del file. È necessario disporre delle autorizzazioni di lettura
  2. Verificare che il file o il collegamento con lo stesso nome non sia presente nella directory di destinazione. Perché se il link con lo stesso nome è presente nella directory di destinazione, non ti permetterà di farlo e inoltre non avviserà che è presente il link con lo stesso nome

1

Prova cp /tmp/ok_pcscd_hotplug.sh /lib/udev/in utente root.


non cambiare, restituisce errore - root @ atrust-00351A: / lib # ls-l drwxrwxrwx 4 root root 324 2009-05-22 11:40 udev
user278122

Si prega di inviare l'output whoamiels -al /tmp/ok_pcscd_hotplug.sh
Sambit

whoami - output root ls -al /tmp/ok_pcscd_hotplug.sh - output -rwxr-xr-x 1 root root 229
user278122

Quindi assicurati che ok_pcscd_hotplug.shnon sia danneggiato ed /lib/udev/esista nel tuo sistema.
Sambit

ok_pcscd_hot_plug.sh o / lib / udev disponibili sul sistema
user278122

1

È necessario creare prima la directory se /lib/udevnon esiste

mkdir -p /lib/udev

0

Prima fai "ls -l" e controlla i permessi per questa directory. Se vedi qualcosa come -rw-r - r--, ciò significa che il Proprietario può leggere-scrivere, Usergroup può solo leggere, World può solo leggere. Digita il seguente comando se questo è il caso: "chmod 766". Ciò ti consentirà di eseguire operazioni di lettura / scrittura su quel file. Ora prova a copiare quel file allo stesso modo. Dovrebbe funzionare


* chmod 766 <file / dir>
passer dal

1
Puoi comunque modificare la risposta e aggiungerla. E non credo nel concedere tutte le autorizzazioni agli utenti. Invece, se si desidera creare una cartella / file, accedere come utente con privilegi. Grazie. :-)
Kulfy il
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.