OS X Server: Cómo editar archivos de configuración

Puede que la documentación del servidor te pida que crees o modifiques las listas de propiedades (plists) u otros archivos de configuración de texto para habilitar alguna prestación que no está a la vista en las Herramientas de Server Admin.

Este artículo se ha archivado y Apple ya no lo actualiza.

Si no estás familiarizado con la edición de archivos de configuración, lee sobre los siguientes temas.

Elegir un editor de texto adecuado

TextEdit (en /Aplicaciones/) es un conocido editor gráfico de texto. Se puede utilizar para editar archivos de configuración en algunos casos, pero tienes que tener especial cuidado en guardar el documento en un formato que el sistema pueda utilizar (consultar información a continuación). También es más difícil editar archivos con permisos restringidos en TextEdit que en un editor de texto de línea de comandos.

Usar un editor de texto de línea de comandos evita algunos de los peligros del formateado y de los permisos que conlleva el uso de TextEdit. Los tres editores de texto de línea de comandos más completos que se incluyen con OS X son:

  • nano es un sencillo editor de línea de comandos. Es un reemplazo para el editor pico, por eso las instrucciones para utilizar el editor pico se pueden usar con nano. Si recurres al editor pico, en realidad ejecutas nano. Nano es una buena introducción para utilizar un editor de línea de comandos porque incluye ayuda en pantalla fácil de seguir.
  • vim es un editor de textos compatible con vi. Contiene muchas mejoras eficaces para realizar búsquedas en documentos, editarlos y moverse por ellos. La edición básica es fácil de aprender y hay muchas funciones adicionales que descubrir. A la mayor parte de las funciones se accede escribiendo combinaciones de pulsaciones que activan ciertos comportamientos. Vim, o el editor en cuyo modelo se basa, vi, se encuentra en la mayoría de los sistemas operativos basados en UNIX. Si vas a hacer muchas modificaciones desde la línea de comandos, sería bueno aprender a utilizar este editor, pero si solo usas un editor de línea de comandos ocasionalmente, puedes arreglártelas sin aprenderlo.
  • Emacs es, como vim, un editor completísimo que se encuentra en la mayoría de sistemas basados en UNIX. Además de sus funciones de edición, Emacs es muy personalizable, con funciones adicionales disponibles en módulos que permiten a la interfaz de Emacs hacer mucho más que una simple edición de texto. Las tareas básicas de edición se realizan con relativa sencillez y el usuario experto encontrará en él funciones increíblemente avanzadas. Como vim, Emacs usa combinaciones de pulsaciones para acceder a sus muchos comportamientos funcionales diferentes. Es necesario memorizarlas para una mayor utilidad, por lo que Emacs es más útil para las personas que utilizan la línea de comandos muy a menudo.

Si es la primera vez que utilizas la línea de comandos y no crees que vayas a hacerlo en muchas otras ocasiones, nano es, probablemente, tu mejor elección. Si esperas pasar mucho tiempo utilizando el entorno de la línea de comandos, probablemente merezca la pena que aprendas a utilizar vim o Emacs. Tienen diferentes filosofías de diseño, así que pasa algún tiempo con cada una de ellas para determinar cuál es la que más se adapta a tus necesidades.

Accede a un editor de línea de comandos escribiendo el nombre del mismo seguido de un espacio y, a continuación, el nombre del archivo que quieres abrir. Si quieres crear un archivo nuevo, escribe un nombre para el archivo. A continuación se muestra un ejemplo de cómo utilizar nano para abrir un archivo nuevo llamado "myFile.conf" en tu carpeta Documentos:

nano ~/Documents/myFile.conf

Dependiendo de los permisos del archivo, puede que tengas que utilizar el comando sudo. A continuación se muestra un ejemplo de cómo usar nano para editar el archivo ldap.conf, que solo puede ser modificado por el usuario root:

sudo nano /etc/openldap/ldap.conf

Para obtener más información sobre el uso de nano, vim o Emacs, consulta sus respectivas páginas "man".

Guardar archivos de texto para que los utilice el sistema

Cuando editas archivos de texto para su ejecución con utilidades UNIX, necesitas guardar los archivos correctamente para que su programa de llamada los pueda usar (o ejecutar). Es muy importante utilizar texto normal y asegurarse de que los privilegios son correctos.

Usar texto normal

Muchos editores gráficos de texto, incluyendo TextEdit, guardan los archivos de texto en un formato más complejo de lo que la mayoría de programas UNIX espera. Si estás usando TextEdit para editar archivos de configuración basados en texto, guárdalos como texto normal, no en el formato de texto enriquecido por omisión. Para cambiar el formato por omisión de los documentos de texto en TextEdit, tienes dos opciones:

  • Para guardar todos los documentos como texto normal, selecciona "Texto normal" en Formato en el panel Nuevo documento de las preferencias de TextEdit.
  • Para cambiar el formato de un documento individual, selecciona "Convertir a texto sin formato" en el menú Formato.

Aunque el texto con formato puede dar la impresión de ser texto simple en un editor, en realidad es una especificación completa que describe el formato, los colores, los tipos de letra y otra información que no está contenida en los archivos de texto normal que espera la mayoría de los programas UNIX. Para ver lo que contiene en realidad un documento de texto con formato, guarda uno en TextEdit y, a continuación, abre el mismo archivo en un editor de texto de línea de comandos.

Los editores de texto de línea de comandos guardarán automáticamente los archivos de configuración en texto normal.

Permisos

Debes tener permiso para leer y escribir en los archivos de configuración y asegurarte de que el archivo editado conserva sus permisos originales, o el sistema no podrá usarlo.

Muchos archivos del sistema solo pueden ser modificados por el usuario root. Si abres un archivo de configuración con permisos restringidos en TextEdit después de iniciar sesión como usuario normal, puede que recibas un mensaje que indica que no tienes permiso para guardar el archivo. Evita cambiar los permisos en el archivo o iniciar sesión como el usuario root para acceder al archivo. En su lugar, inicia sesión como un administrador y asume temporalmente los privilegios root utilizando el comando sudo con un editor de texto de línea de comandos, tal y como se muestra arriba.

Editar listas de propiedades

Muchos archivos de preferencias y de configuración en OS X usan listas de propiedades (plists) para especificar los atributos o propiedades de una aplicación o proceso. Un ejemplo es la plist de preferencias de Finder en la carpeta Librería/Preferences/ de la carpeta de inicio de un usuario. El archivo se llama com.apple.Finder.plist. La convención de nomenclatura por omisión para una plist incluye el nombre DNS inverso del distribuidor añadido delante del nombre de la aplicación o del proceso, seguido de la extensión ".plist".

Las listas de propiedades pueden estar en formato binario o xml. Puedes usar un editor de texto para editar listas de propiedades xml, y las siguientes herramientas para editar listas de propiedades en cualquier formato.

  • Xcode y el Editor de la lista de propiedades son herramientas para desarrolladores de OS X que proporcionan una interfaz gráfica para editar las listas de propiedades. La versión 4 de Xcode o posteriores pueden editar las listas de propiedades directamente. Las versiones anteriores de las herramientas para desarrolladores incluyen el Editor de la lista de propiedades como una aplicación autónoma e independiente. Estas herramientas son más útiles si ya entiendes cómo funcionan las listas de propiedades y sus convenciones. Consulta http://developer.apple.com/mac para obtener más información.
  • defaults es una herramienta de la línea de comandos que puedes utilizar para leer y editar las listas de propiedades. Resulta eficaz usarla si conoces la clave y el valor específicos de una lista de propiedades que tienes que cambiar.
  • PlistBuddy es otra herramienta de la línea de comandos para leer y modificar directamente los valores de una lista de propiedades. Es más flexible que defaults cuando necesitas realizar cambios en un archivo plist complejo.

Para obtener más información sobre cómo utilizar defaults y PlistBuddy, consulta sus respectivas páginas man.

Más información

Realizar una copia de seguridad de los archivos antes de editar

Cuando edites un archivo de configuración o una lista de propiedades, es recomendable hacer una copia de seguridad del archivo antes de editarlo. Así, si por casualidad configuras erróneamente el archivo, puedes reemplazarlo por una copia funcional. Ya que muchos archivos de configuración están en ubicaciones donde tienes acceso de lectura, pero no acceso de escritura, puedes por lo general copiar el archivo en otra ubicación utilizando el Finder o copiarlo en el mismo lugar utilizando el comando sudo. Por ejemplo, el siguiente comando creará una copia de seguridad del archivo syslog con el nombre syslog.conf.original.

sudo cp /etc/syslog.conf /etc/syslog.conf.original

Los dos siguientes comandos desplazarán un archivo syslog.conf mal configurado y lo reemplazarán por la copia de seguridad creada anteriormente.

sudo mv /etc/syslog.conf /etc/syslog.conf.bad

sudo cp /etc/syslog.conf.original /etc/syslog.conf

Fecha de publicación: