cp: no se puede crear un archivo normal: permiso denegado

23

Quiero copiar /lib/udevpero da error

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

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

Soy root, pero no puedo entender. que puedo hacer ?

usuario278122
fuente
En mi caso, cuando necesitaba copiar algo en exFAT, fallaba en cada archivo que tenía un "|" en su nombre de archivo.
neverMind9

Respuestas:

24

Comprueba si eres realmente superusuario con:

whoami

si la salida es root, entonces eres superusuario y puedes hacer la copia del archivo con:

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

de lo contrario tienes que usar sudo:

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

Si aún no puede escribir en el directorio, entonces es posible que:

  1. el directorio tiene habilitado el indicador inmutable. consultar con lsattr.
  2. el directorio está montado con permisos de solo lectura: escriba terminal:

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

    y verifique la salida, si el directorio está montado como de solo lectura.

Si está en el primer caso, cambie los atributos del directorio con chattr;

  • eliminar bandera inmutable en archivo o directorio chattr -i <file/dir>
  • agregando una bandera inmutable en el archivo o directorio nuevamente chattr +i <file/dir>

Si estás en el último caso, edita el archivo /etc/fstab.

girardengo
fuente
whoami - raíz de salida i trató cp -f y sudo cp -f, pero da error otra vez
user278122
Hice un pequeño cambio en mi respuesta: copié el comando de su pregunta, pero hay un error: el comando tal como lo escribió, sobrescribirá udev, debe agregar /.al final del comando para copiar los archivos en el directorio
girardengo
Intenté: 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 No entiendo, soy root pero no copié dónde está el problema
user278122
Edité mi respuesta, mountlsattr /lib/
publiqué
mount / lib / - mount: no se puede encontrar / lib / in / etc / fstab o / etc / mtab lsattr / lib / - ioctl inapropiado para el dispositivo al leer banderas en la salida de lib / filename para cada archivo
user278122
3

No es necesario cada vez que necesite ser root para este propósito. Entonces, si desea hacerlo con el usuario root, está bien, pero si desea hacerlo sin root, entonces tiene 2 opciones:

  1. Verifique los permisos de archivo. Debes tener permisos de lectura para eso
  2. Verifique que el archivo o enlace con el mismo nombre no esté presente en el directorio de destino. Porque si hay un enlace con el mismo nombre en el directorio de destino, no le permitirá hacer eso y tampoco le advertirá que el enlace con el mismo nombre está presente
Kailas Andhale
fuente
1

Probar cp /tmp/ok_pcscd_hotplug.sh /lib/udev/en usuario root.

Sambito
fuente
el cambio no haga, da error otra vez - root @ atrust-00351A: / lib # ls-l drwxrwxrwx 4 root 324 2009-05-22 11:40 udev
user278122
Por favor, publique la salida whoamiyls -al /tmp/ok_pcscd_hotplug.sh
Sambit
whoami - raíz de salida ls -al /tmp/ok_pcscd_hotplug.sh - salida -rwxr-xr-x 1 raíz raíz 229
usuario278122
Luego, asegúrese de que ok_pcscd_hotplug.shno esté dañado y que /lib/udev/exista en su sistema.
Sambit
ok_pcscd_hot_plug.sh o / lib / udev disponible en el sistema
user278122
1

Primero debe crear el directorio si /lib/udevno existe

mkdir -p /lib/udev
Farid Movsumov
fuente
0

Primero haga "ls -l" y verifique los permisos para este directorio. Si ve algo como -rw-r - r--, eso significa que el propietario puede leer y escribir, el grupo de usuarios solo puede leer, el mundo solo puede leer. Escriba el siguiente comando si este es el caso: "chmod 766". Esto le permitirá realizar operaciones de lectura y escritura en ese archivo. Ahora intente copiar ese archivo de la misma manera. Deberia de funcionar

transeúnte
fuente
* chmod 766 <file / dir>
passerPor
1
Aún puede editar la respuesta y agregarla. Y no creo en otorgar todos los permisos a los usuarios. En cambio, si la carpeta / archivo se va a iniciar sesión como el usuario que tiene privilegios. Gracias. :-)
Kulfy