¿Cómo debo corregir los propietarios y los permisos en una carpeta de usuario de OS X?

9

Mi problema es que he roto seriamente a todos los propietarios y permisos en mi carpeta de usuario y subcarpetas y está causando muchos problemas al usar muchas aplicaciones.

La causa inicial fue que había cambiado el nombre de un usuario siguiendo las instrucciones de soporte de Apple en http://support.apple.com/kb/HT1428

Después de configurar el nuevo usuario, la copia de seguridad de Mozy ya no respaldaría y muchas de mis aplicaciones no podían actualizarse automáticamente. La aplicación generalmente comenzó a funcionar nuevamente si eliminé el programa ofensivo y lo reinstalé. Pensé que era porque los permisos eran incorrectos y encontré algunos lugares donde GetInfo indicó que los permisos estaban haciendo referencia al usuario anterior. A veces, el cuadro de diálogo solo decía "Obteniendo" para el nombre de usuario y nunca actualizado a otra cosa.

Ejecuté Onyx "corregir permisos" y Disk Utility "Reparar permisos" sin resultados. Con "Permisos de reparación", sigue arrojando algunas advertencias de información sobre ACL inesperadas, pero la información que pude encontrar en línea no creía que eso pudiera causar problemas como este.

Intenté ejecutar de forma recursiva algunos scripts de línea de comandos en las carpetas del usuario (ambos iniciados como root y usando sudo). chmod tiene muchos errores acerca de que el propietario de los archivos está equivocado. chown después de eso me dio otros errores (no puedo recordar exactamente lo que eran). En un ataque de pánico, hice clic derecho en toda la carpeta del usuario y elegí aplicar sus permisos a todos los niños.

Por lo que puedo decir, cuando hice eso, configuré todo para leer y escribir para ese usuario y solo lectura para " todos " y " personal ". Ahora estoy peor que antes. Firefox se bloqueó y ni siquiera puede actualizar su propia configuración, por lo que aparece el mensaje "¿Desea restaurar estas pestañas" cada vez que se inicia, incluso después de decir repetidamente "Iniciar nueva sesión".

Básicamente, todo en mi carpeta de usuario está roto con respecto al propietario y los permisos y necesito saber cuáles se supone que son. ¿Quién es el propietario de los archivos en cada directorio (Descargas, Aplicaciones, etc.) y cuáles deberían ser los permisos? Teniendo en cuenta esos permisos y propietarios, ¿cuál es la mejor manera de configurarlos bien?

Vi una pregunta similar a esta en Restablecer los permisos de usuario a su modo predeterminado, pero solo aborda los permisos, no los propietarios, lo que ya ha sido un problema.

No estoy seguro de si reinstalar el sistema operativo sobre la copia que tengo ahora solucionaría algo y estoy cerca de llamar al Soporte de Apple si no puedo resolver nada en los próximos días. Gracias por cualquier ayuda.

cisellis
fuente
¿Al menos has descubierto cómo sucedió esto? ¿Qué está mal específicamente? ACL, metadatos o los permisos tradicionales de UNIX. Es difícil cubrir todo en una respuesta, especialmente restablecer los bits inmutables si es necesario.
bmike
Y para facilitar la solución de problemas, instalaría el sistema operativo en una unidad externa, arrancaría desde allí y montaría su unidad "problemática" para ignorar los permisos y ver si rsync o algo le permitirá poner los archivos en un estado más limpio. Luego, podría eliminar al usuario y copiar las cosas nuevamente, respetando la ACL y los permisos del nuevo usuario en las carpetas en ~, con cuidado de mover el contenido ~/Library/y no el ~/Librarypropio.
bmike
No estoy seguro, aparte de lo que escribí anteriormente. Agradezco las sugerencias, pero no soy un gran usuario. Si es más complicado que unas pocas líneas de comando o utilidades, me voy a rendir y restaurar desde una copia de seguridad de Time Machine.
cisellis
Buen plan. Puede obtener ayuda de un técnico si es necesario una vez que se restablezca su copia de seguridad; por lo general, puede tener una breve lista de cosas que están desactualizadas o faltantes. Me alegra que tengas una copia de seguridad :-)
bmike

Respuestas:

10

El primer paso que recomendaría es intentar restablecer los permisos de la carpeta de inicio con la utilidad Restablecer contraseña en Lion Recovery. (A pesar del nombre de la utilidad, en realidad no restablecerá ninguna contraseña).

Restablecer los permisos de la carpeta de inicio con la utilidad Restablecer contraseña restablecerá tanto el propietario como los permisos.

  1. Reinicie su Mac con + Rpara iniciar en Lion Recovery, que lo llevará a la pantalla Reparar utilidades.

  2. Abra la Terminal desde el menú de Utilidades.

  3. En Terminal, ingrese resetpasswordpara abrir la utilidad Restablecer contraseña.

  4. Elija el icono de su disco duro en la parte superior, luego elija su usuario en el menú desplegable a continuación. No restablezca la contraseña aquí.

  5. En la parte inferior de la ventana, en "Restablecer permisos de directorio de inicio y ACL", haga clic en el botón "Restablecer". Esto puede llevar un tiempo si tiene muchos archivos en su carpeta de inicio.

Esto debería resolver sus problemas de permisos para la mayoría de las aplicaciones. Sin embargo, es posible que tenga algunas aplicaciones que hayan guardado archivos con permisos especiales que son diferentes de los permisos predeterminados del usuario (como preferencias o archivos de soporte de aplicaciones). Para esas aplicaciones, es posible que deba eliminar sus preferencias o reinstalar la aplicación.

Si restablecer los permisos de la carpeta de inicio no funciona, es posible que deba intentar restaurar desde una copia de seguridad o transferir sus datos a una unidad externa.

joelseph
fuente
Estoy intentando esto ahora mismo. Hasta ahora ha estado funcionando durante aproximadamente 12 horas. Tengo muchos archivos: P
cisellis
Esto no funcionó. La operación duró más de 48 horas antes de que me diera por vencida y la apagara. Puede que haya terminado en algún momento, pero no había forma de saberlo.
cisellis
3

Ejecuta esto

cd $HOME
{ sudo chflags -R nouchg,nouappnd ~ $TMPDIR.. ; \
sudo chown -R $UID:staff ~ $_ ; \
sudo chmod -R -N ~ $_ ; \
sudo chmod -R 755 ~ $_ ; \
sudo chmod 700 Desktop Documents Downloads Dropbox Library Movies Music Pictures Sites $_ ; \
sudo chmod 777 Public ; \
sudo chmod 733 Public/Drop\ Box ; \
} 2> /dev/null
davidcondrey
fuente
¡Exactamente lo que estaba buscando! Funciona si puede iniciar sesión en el usuario en cuestión y ese usuario también es administrador. ¿Qué tal reparar el directorio de inicio de otro usuario desde otra cuenta? (el usuario con problemas de permisos puede o no ser administrador)
unom
Reinicie la computadora con la combinación de teclas de inicio Cmd + R para abrir la Utilidad de reparación, abra la Terminal en el menú Utilidades, use el comando resetpassword, seleccione el disco duro y la cuenta de usuario relevante del menú desplegable que se abrirá, seleccione restablecer a restablecer los permisos del directorio de inicio y las ACL de la cuenta de usuario seleccionada.
davidcondrey
2

Sus problemas son básicamente los mismos. No hay un estándar para los permisos de los archivos en su directorio personal, todos dependen de su uso.

La fijación de aplicaciones y scripts de permisos y las instalaciones del sistema operativo no deberían afectar el área del usuario, excepto tal vez cambiar los permisos en el directorio de inicio. Las instalaciones del sistema operativo y la mayoría de los scripts de permisos fijos comparan los permisos y los propietarios con lo que se requiere para una instalación limpia y esto no tiene usuarios normales. Si lo hicieran, consideraría esto como un error importante.

La solución es cambiar el propietario de los archivos, es decir, el uso de chown en su directorio de inicio. El propietario debe ser el nuevo nombre del propietario.

No hay una forma general de recuperar los permisos, ya que los archivos individuales dependen de la aplicación y todas las aplicaciones pueden ser diferentes.

Por lo tanto, la única forma es restaurar desde una copia de seguridad antes del cambio: realice el cambio según las notas de Apple y luego elimine todos los archivos. O mire cada archivo individual y calcule qué permisos debería tener: para la mayoría de los archivos de su directorio de inicio, esto debería ser de lectura / escritura para el propietario y nada (o solo lectura) para otros. Los directorios también necesitarán permiso de ejecución para que puedan ser listados. Las aplicaciones necesitarán otros permisos.

usuario151019
fuente
Bueno. Acababa de revisar mi directorio personal y muchos 777directorios y me preocupé.
nyxee
@nyxee que es extraño, esperaría 755 o 700
user151019
muy ... Comenzaré a editar los permisos uno por uno muy, muy lentamente ..
nyxee
1

Nos hemos encontrado con los mismos problemas con varios usuarios. Después de intentar sin éxito todo lo relacionado con la fijación de permisos, encontramos una solución. En aras de la claridad, el usuario problemático es John Doe y la cuenta de usuario (y el directorio de inicio) se llama "johndoe".

  1. Asegúrese de que su usuario raíz esté habilitado. Cerrar sesión
  2. Inicie sesión como root y haga una copia de seguridad de la carpeta de inicio de johndoe (crear una copia de seguridad de la carpeta de inicio es opcional, pero se recomienda encarecidamente en caso de que algo salga mal)
  3. Preferencias del sistema abierto / Usuarios y grupos
  4. Elimine el usuario de johndoe: se le preguntará qué hacer con el directorio de inicio de johndoe
  5. IMPORTANTE: elija NO borrar el directorio
  6. Vaya a / Usuarios y observe que la carpeta de johndoe ha cambiado de nombre a "john doe (eliminado)"; cambiar el nombre del directorio de inicio a "johndoe"
  7. Vuelva a Preferencias del sistema / Usuarios y grupos y vuelva a crear la cuenta de John Doe
  8. IMPORTANTE: asegúrese de que el nombre de la cuenta del usuario sea "john doe", o exactamente el nombre del directorio de inicio en el paso 6
  9. Se le indicará que el directorio de inicio con ese nombre ya existe y si desea utilizar el directorio de inicio existente
  10. Elige si
  11. Reinicie e inicie sesión como John Doe
pocho
fuente
Solo quiero darle las gracias. Esto funcionó en Snow Lion (la computadora de mi esposa) después de que fracasaron intentos mucho más elaborados, por ejemplo, macissues.com/2014/04/11/…
Steve Samuels
0

Estoy agregando una sola respuesta para abordar todo. Lo que sea que hice con los permisos, fue totalmente molesto. Intenté la primera respuesta, arrancando en modo de recuperación y restableciendo los permisos a través del método de restablecimiento de contraseña, pero eso se ejecutó durante 48 horas antes de matarlo y no tuvo un efecto perceptible. Traté de restaurar desde Time Machine y eso también explotó y no pude restaurar la copia de seguridad.

Terminé haciendo copias de seguridad de todo manualmente en un disco externo, formateando todo el disco y reinstalando Lion, reinstalando todo manualmente y copiando mis datos personales, como la biblioteca de iPhoto y las bibliotecas de iTunes, de forma manual. iPhoto tuvo que reparar la biblioteca pero funcionó bien y no tuve problemas. iTunes no pudo agregar música a la biblioteca hasta que utilicé Disk Utility para reparar los permisos nuevamente. Como solo copié el directorio de iTunes Media y no el directorio principal, pareció arreglarlo todo.

Moraleja de la historia: Olvídese de Apple, no cambie el nombre de los usuarios.

cisellis
fuente
0

¡Esto no es un problema de permiso en absoluto! Nada de lo que haga con los permisos lo arreglará porque los permisos ya están configurados para lectura / escritura, que es lo más permisivo posible.

Es un problema del dueño; el sistema está confundido acerca de quién posee el archivo y no puede resolver el dilema. Agréguese como nuevo propietario, otórguese permisos de lectura / escritura, y luego elimine al usuario ofensivo "que busca".

Gib Henry
fuente
0

La función de permisos de restablecimiento de la Utilidad de Discos no afecta su directorio de inicio, por lo que no funcionará aquí. Pero también tiene una segunda herramienta de restablecimiento de permisos ocultos para su directorio de inicio. Lo usas desde la Terminal, así:

diskutil resetUserPermissions / $(id -u)

(Fuente: https://support.apple.com/en-us/HT203538 )

SilverWolf - Restablece a Monica
fuente