Permiso `cp` denegado cuando se copia un archivo propiedad de` root`

Tengo una carpeta udp_folder2

d------r-T 41 root root 4096 Apr 26 21:17 udp_folder2 

cuando «estoy con un usuario que no es root, no puedo» t cp -r en una nueva carpeta que dice: Permiso denegado

¿por qué? y cómo puedo copiarlo con un usuario que no sea root

Responder

Bueno,

Eso sería porque la forma en que se establecen sus permisos actuales, nadie puede mover ese archivo. (Aparte de root, porque root no sigue las mismas reglas).

Debería cambiar el propietario del archivo (chown), O agregar el otro usuario al grupo «root» y modifíquelo para que el grupo pueda ejecutarse en el directorio, O permita que todos los demás ejecuten el archivo.

Entonces, una solución rápida sería:

chmod -R o+rwx udp_folder2 

Eso les dará a todos la capacidad de leer, escribir y ejecutar en ese directorio.

Además … si «estás intentando copiar» udp_folder2 «en el mismo directorio en el que se encuentra ahora , también necesitará el permiso «w» en ese directorio. Por ejemplo:

/ foo / udp_folder2 – necesitará «w» en / foo para copiar ese directorio en / foo

Sugeriría aprender los permisos de archivos de Linux: Tutorial de permisos de archivos de Linux

Comentarios

  • Creo que la copia es solo r permiso, obviamente hay r permiso para otro usuario. I sa r
  • Quiero decir, en d------r-T, el r es para otro usuario
  • También necesita permiso de ejecución para copiar un directorio. Yo ' no estoy seguro de qué T es de improviso.
  • Tú ' necesitará ' w ' en el directorio que ' estás intentando copiar a … por ejemplo, si ' vuelve a copiar / home / foo a / etc / foo, ' necesitará el ' w ' permiso en / etc /
  • @Swiss – El ' T ' es un bit pegajoso, que es un permiso ' especial '. Aprenda todo sobre los bits adhesivos aquí: en.wikipedia.org/wiki/Sticky_bit

Respuesta

El directorio no tiene permiso x, por lo que otros (es decir, en este caso cualquier usuario) pueden usar el directorio para acceder a los archivos dentro. El T significa que es pegajoso (solo el propietario de un archivo puede eliminarlo). Con el permiso x y el bit adhesivo, verá una t minúscula; la T en mayúsculas dice «sin permiso de acceso, pero un bit pegajoso, que es una combinación extraña».

Lea sobre los permisos de directorio / archivo Unix. No es demasiado difícil, y lo lo necesitará.

Respuesta

No » No quiero darles a todos rwx en el directorio porque «crearía un riesgo de seguridad. Y no querría -R el chmod porque eso escribiría los cambios de forma recursiva.

Solo chmod 755 "filename" y estás bien.

Aquí tienes un desglose de los números:

  • Leer = 4
  • Escribir = 2
  • Ejecutar = 1

Entonces tienes 3 grupos:

  • Propietario.
  • Aquellos que pertenecen al Grupo.
  • Todos los demás.

Entonces, si quiero dar al propietario rwx, a los que pertenecen al grupo rw y a todos los demás rw simplemente agrega los permisos: rwx = 7, porque r + w + x es 4 + 2 + 1 y rw = 6 porque r + w = 4 + 2.

Comentarios

  • De ahí mi término ' Entonces, una solución rápida sería ' y le envío un enlace para obtener más información sobre los permisos. No ' no mencionó una preocupación por la seguridad ni nada por el estilo. Acaba de decir que quiere copiar el directorio.
  • Además, ' necesitaremos el ' w ' permiso en el directorio en el que ' está intentando copiarlo.
  • Don ' No seas un enemigo de Tillman.

Responder

Para copiar la carpeta donde el propietario no» Si tiene permiso para ello, debe cambiar estos permisos.

Si la carpeta está restringida incluso para el propietario, hay alguna razón para ello y otorgar permisos a todos los demás (o) no es «una buena solución ( como se muestra en la primera respuesta).

Para que el propietario acceda a la carpeta, debe haber leído (r) y ejecutar / buscar bits (X) establecido. Si tiene carpetas dentro de las carpetas, cada una debe seguir las mismas reglas. Para archivos, solo un bit de lectura (r) es suficiente.

Básicamente, para otorgar permisos de lectura a la carpeta de forma recursiva, debe ejecutar:

chmod -vR u+rX folder/ 

Si está ejecutando el comando anterior como usuario, prefijo con sudo (si tiene privilegios de superusuario), de lo contrario, ejecutar como root.

Si algunos archivos dentro de la carpeta no son propiedad de root, cámbielos de forma recursiva por:

sudo chown -vR root folder/ 

Entonces cópielo como de costumbre o use rsync de la siguiente manera:

rsync -vuar src/ dst/ 

Para obtener más explicaciones sobre los comandos anteriores, consulte: man chmod y man chown.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *