OS X Server: Cómo editar archivos de configuración
La documentación de Server puede indicarte que crees o modifiques listas de propiedades (plist) u otros archivos de configuración basados en texto para habilitar la funcionalidad que no está expuesta en las herramientas de Server Admin.
Si no conoces la edición de archivos de configuración, lee los siguientes temas.
Elegir un editor de texto adecuado
TextEdit (en /Aplicaciones/) es un conocido editor gráfico de texto. Se puede usar para editar archivos de configuración en algunas circunstancias, pero debes tener mucho cuidado de guardar el documento en un formato que el sistema pueda usar (consulta a continuación). También es más difícil editar archivos con permisos restrictivos en TextEdit que en un editor de texto de la línea de comandos.
El uso de un editor de texto de la línea de comandos evita algunos de los errores de formato y permisos asociados con el uso de TextEdit. Los tres editores de texto de línea de comandos más completos incluidos con OS X son:
nano es un sencillo editor basado en la línea de comandos. Sustituye al editor Pico, así que sus instrucciones de uso se puedan utilizar con nano. Si invocas el editor Pico, en realidad ya ejecutas nano. Nano es una buena introducción al uso de un editor basado en la línea de comandos, ya que incluye una ayuda en pantalla fácil de seguir.
Vim es un editor de texto compatible con vi. Tiene muchas mejoras potentes para moverse por los documentos, editarlos y hacer búsquedas. La edición básica es fácil de aprender y se pueden explorar muchas funciones adicionales. A la mayoría de las funciones se accede escribiendo combinaciones de teclas que activan una acción concreta. Vim, o el editor en el que se basa vi, se encuentra en la mayoría de los sistemas operativos basados en UNIX. Te recomendamos aprender a usarlo si vas a hacer muchas ediciones desde la línea de comandos, pero si solo vas a usarlo de vez en cuando, no es necesario.
Emacs, como Vim, es un editor con todas las funciones que hay en la mayoría de los sistemas basados en UNIX. Además de sus capacidades de edición, Emacs es extremadamente personalizable, con funciones adicionales disponibles en módulos que permiten que su interfaz haga mucho más que solo editar texto. Con él, hacer ediciones básicas es relativamente fácil y tiene una increíble variedad de funcionalidades que un usuario que lo use con frecuencia puede explorar. Al igual que Vim, Emacs utiliza combinaciones de teclas para acceder a sus diferentes funciones. Para que la herramienta sea más útil, es necesario memorizarlas; por eso Emacs es un editor más adecuado para quienes usan la línea de comandos muy a menudo.
Si acabas de empezar a usar la línea de comandos y no tienes pensado usarla mucho para editar, nano es probablemente la mejor opción. Si crees que vas a pasar mucho tiempo usando el entorno de la línea de comandos, probablemente valga la pena aprender a trabajar con Vim o Emacs. Tienen filosofías de diseño muy diferentes, así que dedica algo de tiempo a cada una de ellas para determinar cuál es la más adecuada para ti.
Para invocar un editor de línea de comandos, escribe el nombre del editor seguido de un espacio y, a continuación, el nombre del archivo que quieres abrir. Si quieres crear un archivo nuevo, escribe un nombre. A continuación, tienes un ejemplo de cómo usar nano para abrir un archivo nuevo llamado “myFile.conf” en la carpeta Documentos:
nano ~/Documents/myFile.conf
En función de los permisos del archivo, es posible que tengas que usar el comando sudo. Aquí tienes un ejemplo de uso de Nano para editar el archivo ldap.conf, que solo puede cambiar 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 del manual.
Guardar archivos de texto para usarlos en el sistema
Cuando editas archivos de texto para que los ejecuten utilidades UNIX, debes guardarlos correctamente para que el programa que los llama los pueda usar (o ejecutar). Es especialmente importante usar texto sin formato y asegurarte de que los privilegios son correctos.
Usar texto sin formato
Muchos editores gráficos de texto, incluido TextEdit, guardan archivos de texto en un formato más complejo de lo que esperan la mayoría de los programas UNIX. Si utilizas TextEdit para editar archivos de configuración basados en texto, guárdalos como texto sin formato, no como el formato de texto enriquecido predeterminado. Para cambiar el formato predeterminado de los documentos de texto en TextEdit, tienes dos opciones:
Selecciona Texto sin formato en Formato en el panel Nuevo documento de las preferencias de TextEdit si quieres guardar todos los documentos como texto sin formato.
Elige Crear texto sin formato en el menú Formato si quieres cambiar el formato de un único documento.
Aunque el formato de texto enriquecido puede parecer un texto simple en un editor, en realidad es una especificación completa que describe el formato, los colores, las fuentes y otra información que no se incluye en los archivos de texto sin formato que esperan la mayoría de los programas UNIX. Para ver lo que realmente contiene un documento con formato de texto enriquecido, guárdalo en TextEdit y, a continuación, abre el mismo archivo en un editor de texto de la línea de comandos.
Los editores de texto de la línea de comandos guardarán automáticamente los archivos de configuración en texto sin formato.
Permisos
Debes tener permiso para leer y escribir en el archivo de configuración, y asegurarte de que el archivo editado conserva sus permisos originales o que el sistema no pueda usarlo.
Muchos archivos del sistema solo los puede editar el usuario root. Si abres un archivo de configuración con permisos restringidos en edición de texto después de iniciar sesión como usuario habitual, es posible que recibas un mensaje indicando que no tienes autorización para guardar el archivo. Evita cambiar los permisos del archivo o iniciar sesión como usuario root para acceder al archivo. Lo que puedes hacer es iniciar sesión como administrador y asumir temporalmente los privilegios de root mediante el comando sudo con un editor de la línea de comandos, como se muestra más arriba.
Editar listas de propiedades
Muchos archivos de preferencias y configuración de OS X utilizan listas de propiedades (plist) para especificar los atributos o propiedades de una aplicación o proceso. Un ejemplo es la lista de preferencias de Finder en la carpeta Biblioteca/Preferencias/ de la carpeta de inicio de un usuario. El archivo se llama com.apple.Finder.plist. La convención de nomenclatura predeterminada para un archivo plist incluye el nombre DNS inverso del distribuidor precedido del nombre de la aplicación o del proceso, seguido de una 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 puedes utilizar las siguientes herramientas para editar listas de propiedades en cualquier formato.
Xcode y el editor de listas de propiedades son herramientas de desarrollo de OS X que proporcionan una interfaz gráfica para editar listas de propiedades. Xcode versión 4 o versiones posteriores puede editar listas de propiedades directamente. Las versiones anteriores de las herramientas de desarrollo incluyen el editor de listas de propiedades como una aplicación independiente. Estas herramientas son más útiles si ya conoces las listas de propiedades y sus convenciones. Consulta el artículo http://developer.apple.com/mac para obtener más información.
defaults es una herramienta de la línea de comandos que puedes usar para leer y editar listas de propiedades. Es eficaz cuando conoces la clave y el valor específicos de una lista de propiedades que necesitas cambiar.
PlistBuddy es otra herramienta de la línea de comandos para leer y modificar directamente valores dentro de una lista de propiedades. Es más flexible que defaults cuando necesitas hacer cambios en un archivo plist complejo.
Para obtener información sobre el uso de defaults y PlistBuddy, consulta sus respectivas páginas de man.
Más información
Hacer una copia de seguridad de los archivos antes de editarlos
Siempre que edites un archivo de configuración o una lista de propiedades, se recomienda hacer una copia de seguridad del archivo antes de empezar a editarlo. De esta manera, si desconfiguras accidentalmente el archivo, puedes reemplazarlo por una copia de trabajo. Dado que muchos archivos de configuración están en ubicaciones en las que tienes acceso de lectura pero no de escritura, normalmente puedes copiar el archivo en otra ubicación con Finder o copiarlo in situ con el comando sudo. Por ejemplo, el siguiente comando hará una copia de seguridad del archivo syslog.conf llamada syslog.conf.original.
sudo cp /etc/syslog.conf /etc/syslog.conf.original
Los dos comandos siguientes apartará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