Cómo cambiar el propietario de un directorio


14

EDITAR : El problema era que Apple usa permisos para marcar las copias de seguridad y evita que las modifique (probablemente una característica de seguridad). Al usar chmod -RN <dir>, eliminé los datos de ACL de todas las carpetas con datos importantes y eso me permitió convertirme en el propietario y aplicar los permisos apropiados.

Pregunta original
Tengo una copia de seguridad extremadamente grande (> 700 GB) que ahora tiene los permisos incorrectos (mi UID cambió durante una instalación limpia, una larga historia) y necesito cambiarlos. La opción que consume mucho tiempo es ir manualmente a través de cada carpeta y cambiar los permisos, pero eso llevará años.

Quiero usar chownpara convertirme en el propietario de todos mis datos importantes y luego usar chmod 700en todas esas carpetas para dar rwxpermisos solo a mí.

La solución ideal es algún método de uso findpara buscar de forma recursiva carpetas que coincidan con una expresión regular (mi actual es .*/[DCV].*|Pictures|M[ou].*) y luego hacer que mi UID sea el propietario y establecer los permisos en 700.

Lo importante que no puedo entender: sin
embargo, cuando intento correr chown Me DirectoryNameme sale chown: DirectoryName: Operation not permitted.

Todo lo que encuentro está relacionado con el cambio de los permisos de un archivo y no de un directorio. Tal vez estoy mirando esto de la manera incorrecta?
Algo me dice que no hay forma de dar mi UID rwxy ---a todos los demás.

¿Cómo puedo conseguir esto? Estoy ejecutando Mac OS X 10.10.3.

Sé que este es un foro de UNIX / Linux (y estoy corriendo Mac), pero esta pregunta es mucho más acerca del uso de la cáscara, chown, chmod, y los permisos y las soluciones publicadas aquí será aplicable a cualquier sistema operativo basado en UNIX. Sería preferible que las soluciones publicadas hagan que mis copias de seguridad anteriores vuelvan a aparecer en Time Machine.

Gracias a todos los que respondieron con prontitud, pero chownsimplemente no parece funcionar en los directorios por alguna razón. ¿Es .sparsebundlerelevante el hecho de que se trata de una imagen de disco en una unidad de red? Supuse que sería lo mismo que en cualquier unidad externa.


¿Qué tipo de unidad de red? Si se trata de NFS, existe una buena posibilidad de que se exporte con root_squashhabilitado, por lo que no podrá realizar operaciones solo de raíz, como chownlas del cliente.
Toby Speight

Es un HDD dentro de una Apple Time Capsule. Esencialmente es un disco protegido con contraseña dentro de una estación base WiFi. La única diferencia es que el HDD está conectado a su computadora a través de Ethernet. En realidad, hay un puerto USB, pero nunca lo he usado.
Arc676

De lo contrario, el estándar find . -user $other_uid -print0 | sudo xargs chown $USERdebería funcionar.
Toby Speight

¿Qué sistema de archivos de red? df -hT <dirname>debería decirte
Toby Speight

@TobySpeight nodf -hT <dir> proporciona salida para a) el directorio raíz del HDD de la red b) la imagen del disco dentro del HDD de la red c) ninguna carpeta en el HDD de la red. ¿Quizás el comportamiento que pretendía se implementa de manera diferente en Mac y Linux?
Arc676

Respuestas:


23

Puede que haya entendido mal. Pero puede usar recursivamente chmod y chown, por ejemplo.

chown -R username:username /path/directory

Para aplicar recursivamente el permiso 700, puede usar:

chmod -r 700 /path/directory

Por supuesto, lo anterior es para Linux, así que no estoy seguro de si mac osx es el mismo.

EDITAR: Sí, lo siento, olvidé mencionar que debes ser root para hacer algo, solo asumí que sabías esto ... mi mal.


1
Mac OS usa la misma sintaxis. Para ejecutar el comando como root, la forma más fácil en una Mac es agregarle un prefijo sudo, de modo que sudo chmod(se le pedirá una contraseña con acceso de Adminstrator).
mjturner

2

prueba como root

 find wherever -type d -name ... -exec chown Me {} \;

dónde

  • -type d aplicar solo a dir
  • -name ... tu expresión regular
  • -exec chown Me {} \; use chown en find dir.

debes ser root a chown.

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.