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 ?


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.


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

1

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


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


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


* 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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.