jueves, 10 de junio de 2021

Los niveles de usuarios en Mac (habilitar root)

 El sistema operativo macOS nos ofrece 5 niveles de seguridad (en realidad son 3 que parecen 5, o más bien, 5, pero sólo se muestran 3), mejor hay que explicarlo más a detalle:



macOS ofrece tres niveles de usuario final: 
  • Administrador
  • Estándar
  • Para compartir
Los usuarios Administradores son aquellos que tienen permiso para instalar aplicaciones, borrarlas, cambiar la configuración del sistema, etc. Tiene libertad casi total.
Los usuarios estándar son aquellos que solamente tienen permiso total sobre sus propios archivos.
Los usuarios para compartir, compartidos o shared son los más limitados: solamente pueden ver los archivos o fólders que han sido compartidos, y se les puede limitar para que solamente los puedan leer. Los usuarios para compartir se usan para macs en redes, donde los usuarios de otra mac se pueden conectar a la tuya, entrar a sesión usando el usuario para compartir y ver solamente los archivos que has compartido, por eso son tan limitados.
El nivel de cada usuario se debe especificar cuando se crea, solamente los usuarios estándar se pueden convertir en administradores. La creación de usuarios se hace en Preferencias del sistema → Usuarios y grupos:

En esta pantalla, la opción para agregar a un usuario (el símbolo +) aparece ghosteado (bloqueado):

Para desbloquearlo hay que hacerle click al candado y escribir el password del usuario administrador:

Desbloquear la pantalla "Usuarios y grupos" también permite que un usuario estándar obtenga permisos de administrador mediante la opción "Permitir al usuario administrar esta computadora".


Una vez desbloqueado se puede dar click al botón "+" para crear a un usuario. Esta ventana también permite asignarle un nivel de acceso al usuario:


El cuarto nivel de acceso es llamado usuario "Huésped" o "Guest". Igual que el usuario "Para compartir", tiene accesos muy limitados: la diferencia principal con un usuario compartido es que el invitado está pensado para accesar desde la misma computadora. Esto está pensado para usuarios ocasionales que necesiten usar la computadora o cuando los niños quieran jugar algún videojuego en la mac. En casos así es buena idea cerrarles el paso al acceso a documentos de contabilidad personal, passwords o prohibir el acceso a sitios porno.

El usuario invitado ya viene instalado y configurado en todas las macs. Solamente hay que activarlo en la ventana "Usuarios y grupos",


El quinto nivel de acceso es el superusuario o "root". A primera vista, el usuario root parecería el mismo que el usuario "Administrador"; la diferencia estriba en que el usuario administrador tiene todos los permisos sobre usuarios, las aplicaciones y accesos, pero no sobre el funcionamiento interno del sistema, todos esos eventos y comandos extraños que solamente se pueden ver con la terminal.
Aquellos geeks y nerds experimentados en los ambientes Linux y Unix, ya sabrán que el superusuario root es todopoderoso dentro del sistema, pero también es increíblemente peligroso  porque puede borrar o dañar a un sistema hasta el grado que haya que reinstalar para que vuelva a funcionar. Apple lo sabe y ha diseñado macOS para que sea lo más seguro posible. En macOS, el usuario root existe, pero está deshabilitado por default. Solamente si se necesita, puede uno habilitarlo.
Para habilitar el usuario root, hay que meterse a la ventana de "Usuarios y grupos", desbloquearla y seleccionar la opción "Opciones de inicio":

                   

En esta ventana, oprimir el botón "Acceder" de la opción "Servidor de cuentas de red". Se abre la siguiente ventana:

Oprimir el botón "Abrir Utilidad de Directorios". Se abre la ventana de utilidad de directorios. Esta ventana está bloqueada, así que hay que desbloquearla con el password de algún usuario administrador:

Una vez desbloqueada, uno puede activar al usuario root a través del menú "Edición".

Al activar el usuario root, el sistema lanza una ventana para que uno pueda teclear su password.


Una vez activo y con su password definido, el sistema lo reconoce como otro usuario más. Por seguridad no le asigna imagen ni muestra el nombre "root" o "Usuario root" o algo, la pantalla de login de usuarios lo muestra como "Otros" ("Other...", cuando se activa el usuario root, su configuración toma todos los valores por default, entre ellos el idioma):

El usuario root es muy poderoso, pero muy especial: Apple permite su activación solamente para administración del sistema. No le asigna fólder home, ni se puede configurar su ambiente. Aunque teóricamente tiene todos los permisos sobre todos los archivos del sistema, estos solamente son válidos en la Terminal, dentro de Aqua, la GUI de macOS, el usuario root está muy limitado.

Una vez activo, puede uno entrar a sesión de root y lanzar la terminal. Dado que usar root es bastante peligroso si no sabe uno exactamente lo que está haciendo, se recomienda entrar a sesión como algún administrador del sistema, y desde la terminal hacer un su o su –


Por último, se recomienda fuertemente desactivarlo cuando se haya dejado de usar.


Fecha espacial: 6765.12

viernes, 21 de mayo de 2021

Postgres en Mac: primeros pasos de ciberseguridad

La instalación de postgreSQL crea automáticamente un usuario postgres para uso interno del sistema, no para uso del usuario DBA.

Cuando uno piensa en ciberseguridad, generalmente uno se imagina en las más recientes técnicas de ciberescudos, vacunas y escaneos profundos de las computadoras; algo así como las mejores tecnologías de contraespionaje. Dejando todo lo hollywoodense a un lado, el 90-95% de la ciberseguridad es puro sentido común y utilizar una configuración pensada en técnicas recomendadas, nada más.
La ciberseguridad en PostgreSQL empieza con una configuración correcta.

Esto se puede comprobar en la terminal con el comando:

dscl . list /Users | grep -v '_'

Y se puede comprobar su "accesibilidad" al usuario final en Preferencias del Sistema → Usuarios y Grupos. Los usuarios que aparecen ahí son los llamados "accesibles" al usuario:

La instalación original de EDB instala un usuario postgres solamente accesible para el sistema. Yo creé un usuario postgres antes de la instalación para evitar problemas.

El problema de "accesibilidad" puede evitarse creando un usuario postgres antes de empezar el proceso de instalación y, de hecho, ejecutar la instalación con este usuario.

Otra característica de la instalación mediante el paquete EDB de postgrreSQL en Mac es que instala y configura scripts para el inicio automático del servidor (también llamado motor de DB) de PostgreSQL. Esto es deseable a veces y a veces no. Casi siempre es deseable que el servidor de PostgreSQL inicie automáticamente con la máquina y además que el DBA tenga control sobre el inicio o parada (reseteo) del servidor.
El archivo de inicio automático es:

     /Library/LaunchDaemons/com.edb.launchd.postgresql-13.plist

los. archivos .plist en macOS son archivos de configuración y son simplemente archivos de texto en formato XML 1.0. Se pueden editar manualmente con cualquier editor de texto. Las líneas de texto que controlan el inicio automático del servidor PostgreSQL son:
 <key>RunAtLoad</key>

     <true/>

si se quiere cambiar la configuración de default, arrancando al inicio, se debe cambiar la línea <true/> a <false/>.


Hay que notar que el archivo pertenece a root, si se quiere editar este archivo, hay que iniciar sesión como administrador del sistema, habilitar el usuario root, iniciar como usuario root, entrar a terminal y editar el archivo. Técnicamente la edición podría hacerse con la sesión de cualquier otro usuario mediante su o sudo, pero hacerlo directamente en sesión de root es más fácil y directo.

Pantalla de inicio de sesión del usuario root.

Nota: hay que recordar que en macOS el usuario root está deshabilitado por default. Para poder iniciar sesión con root primero hay que habilitarlo. Apple proporciona esta facilidad en macOS para poder hacer administración en el sistema, pero también hay que deshabilitarlo cuando se termina de usar. Dejarlo habilitado es una grave violación a la ciberseguridad.

Una vez editado el archivo .plist de postgresql, se puede reiniciar la Mac y revisar procesos en la terminal, el servidor postgres ya no debe estar arriba. O se puede reiniciar el motor de postgres mediante

     pg_ctl stop -D/Library/PostgreSQL/13/data y
  pg_ctl start -D/Library/PostgreSQL/13/data

Reinicio del servidor PostgreSQL en macOS; una de las ventajas  del arranque mediante comando, es que uno puede controlar los diversos parámetros de apertura, por ejemplo, la creación de logs.


Fecha espacial 6746.97

viernes, 26 de febrero de 2021

Instalación de Postgresql en la Mac

El empaquetado para instalación en Macintosh lo hace la empresa Enterprise DB (EDB).

La versión más reciente de PostgreSQL es la 13.2

El primer paso es bajar el DMG (Disk IMage, equivalente al formato ISO):


Abriendo el archivo DMG (haciéndole doble click, por ejemplo):

Y corriendo la app de instalación (otra vez doble click):
Haciendo click en el botón "Siguiente >":
Uno puede especificar el directorio de instalación. La ruta que aparece ahí es la que usa por default.

Haciendo click en el botón "Siguiente >":
Componentes que se desea instalar. Cuando uno sombrea un componente, su descripción aparece en la parte derecha de la ventana, obviamente que el PostgreSQL Server es el componente principal, es el motor básico de postresql, supongo que no hay descripción debido a que es el componente principal.

Recorriendo los componentes a instalar:
pgAdmin es el programa de ambiente gráfico (actualmente es a través de web) para administrar y trabajar con Postgresql. Su instalación es casi obligatoria, exceptuando a los que prefieren las herramientas CLI o prefieren usar otro cliente.


Recorriendo los componentes a instalar:

Stack Builder es una utilería que sirve para detectar e instalar add-ons, herramientas adicionales y  programas de prueba para Postgresql. No es necesario, pero es útil.

Recorriendo los componentes a instalar:

Herramientas y librerías CLI (Command Line Interface, es decir, sin ambiente gráfico). Se recomienda instalar las herramientas, pero las librerías son un requisito.

Haciendo click en el botón "Siguiente >":

Capturar el directorio donde se van a guardar los datos. La ruta que se muestra es la que el sistema pone por default.

Haciendo click en el botón "Siguiente >":

Definición del password del super-usuario. Hay que tener en cuenta que el usuario postgres solamente es super-usuario en el ambiente de base de datos, y de hecho solamente existe ahí. La Mac no lo va a reconocer hasta que lo creemos.

Haciendo click en el botón "Siguiente >":


Haciendo click en el botón "Siguiente >":

La configuración regional se refiere el conjunto de caracteres a utilizar en las bases de datos a crear. Si la Mac está configurada a trabajar en español, ese va a ser el conjunto de caracteres por default.

Haciendo click en el botón "Siguiente >":

Una vez configurados todos los parámetros de instalación, se nos presenta una ventana de resumen o sumario con toda la información para revisarla.

Haciendo click en el botón "Siguiente >":

Confirmación.

Haciendo click en el botón "Siguiente >":

Una vez confirmado, se muestra una ventana con el estado de la instalación.

Haciendo click en el botón "Siguiente >":

Confirmación de finalización. El programa de instalación muestra una opción para correr Stack Builder. Stack Builder es un programa independiente al programa de instalación.

Haciendo click en el botón "Terminar". Termina la rutina de instalación e inicia Stack Builder:

Pantalla de presentación de Stack Builder. Este programa presenta sus textos en inglés.

Haciendo click en el botón "Next >":

Presentación de las categorías que puede instalar.

Haciendo click en las categorías disponibles (Add-ons, tools and utilities):

Programas que se pueden instalar en la primera categoría (add-ons, herramientas y utilerías), en la parte de abajo de la ventana aparece un texto explicativo.

Haciendo click en las categorías disponibles (Database drivers):


Haciendo click en las categorías disponibles (Registration-required and trial products):


Haciendo click en las categorías disponibles (Replication Solutions):


Haciendo click en las categorías disponibles (Spatial Extensions):


Haciendo click en el botón "Next >":

Cuando ya se han seleccionando los productos a agregar a Postgresql, Stack Builder presenta una ventana de resumen donde también se puede especificar un directorio para guardar los downloads (el default es el mismo que se especificó para el navegador. Hay que notar que los añadidos son –generalmente– archivos .ZIP que se deben instalar manualmente.

Una vez que se hace click en el botón "Next >", Stack Builder empieza a bajar los paquetes pedidos y termina.

Para confirmar la instalación, se pueden seguir los siguientes pasos:

1. Confirmar procesos postgres en la terminal:


2. Confirmar que se haya instalado como aplicación (Nota: aquí solamente van a estar los programas accesibles al usuario final, el directorio real de instalación está en Library, no en Aplicaciones):


3. Confirmar directorio de instalación (nota: por default, postgresql se instala en el fólder "Library", si tienen la Mac configurado en español este fólder se llama "Biblioteca"; hay que recordar que los programas macOS obtienen los nombres de los objetos de recursos en común, no es que existan dos veces o haya fólders repetidos o algo así:


Fecha  espacial: 6676.12

miércoles, 13 de enero de 2021

El regreso de los lectores

Estos días, Apple lanzó las actualizaciones para iOS (15 de diciembre 2020) e iPadOS (13 de enero 2021), entre las correcciones y nuevas características que presentan, me sorprendió muy gratamente comprobar que ya se corrigió el problema de las voces lectoras.

Sí, es bien curioso que apenas en mi post anterior haya mencionado los errores de pronunciación y ahora ya se hayan corregido. Pudo ser Apple que le presta atención a los usuarios o una conspiración reptiliana para engañarnos. Ustedes escogen.

El primer ejemplo es mi iPhone configurado con la voz de Siri:


Para la lectura en el iPad, configuré la voz de Siri Masculino (esta voz está disponible tanto en iPadOS como en iOS, pero no en macOS Big Sur):

La lectura en Pages para BigSur la hace la voz mexicana Paulina:


La actualización de iOS e iPadOS fue la 14.3. Todavía quedan algunos errores, pero son muy pequeños, triviales y muy probablemente se deban a la compleja gramática del español, por ejemplo, muchas veces se equivoca al leer números romanos, los diferentes formatos de números (en todo el continente americano seguimos el formato 12,345.67 mientras que en España se sigue el formato europeo: 12.345,67). Lo principal es que en español usamos la letra "y" para unir dos frases y para agregar un conceptos o ideas a una descripción, y la Mac siempre la pronuncia como "i griega".



Fecha espacial: 6638.11