Certificaciones

Certificaciones
Certificaciones

miércoles, 27 de julio de 2016

Solaris 10 VNC: Script para Habilitar VNC en Solaris 10

Solaris ofrece muchas interfaces de acceso remoto como ssh, X11, server remote redirection, etc.
En muchas ocasiones nos es requerido ejecutar tareas o procesos sin que estas se pierdan o se detengan cuando se pierde la conexion al Servidor o Sistema Operativo. Para esto lo mejor es usar VNC, para lo cual Solaris 10 ya incluye su propio vnc basado en servidor X standard  lo cual nos permite redireccionar la pantalla o display en modo virtual a traves de vnc como si fuera un X Display.
A continuación presento un script el cual pueden copiar y ejecutar en el Sistema Operativo Solaris 10 para habilitar el xvnc sin tener que instalar software VNC de terceros:

#!/bin/sh
#
# habilitavnc.sh
# Script para habilitar el vnc en Solaris 10
#
# Ejecutar este script con usuario root
#
# Despues de ejecutar el script puede ingresar con VNC Viewer a
# la ip del servidor a los display :1 y :2
#

# Agrega el display 1 a la configuracion del vnc

svccfg -s application/x11/x11-server add display1
svccfg -s application/x11/x11-server:display1 addpg options application
svccfg -s application/x11/x11-server:display1 addpropvalue options/server astring: "/usr/X11/bin/Xvnc"
svccfg -s application/x11/x11-server:display1 addpropvalue options/server_args astring: '"SecurityTypes=None"'

# Agrega el display 2 a la configuracion del vnc, para poder
# utilizar dos display

svccfg -s application/x11/x11-server add display2
svccfg -s application/x11/x11-server:display2 addpg options application
svccfg -s application/x11/x11-server:display2 addpropvalue options/server astring: "/usr/X11/bin/Xvnc"
svccfg -s application/x11/x11-server:display2 addpropvalue options/server_args astring: '"SecurityTypes=None"'
svccfg -s application/x11/x11-server:display2 addpropvalue options/server_args astring: '"-alwaysshared"'

# Configura el dtlogin para que cargue configuración en cada
# reboot

if [ ! -d /etc/dt/config ] ; then
        mkdir -p /etc/dt/config
fi
if [ ! -f /etc/dt/config/Xservers ] ; then
        cp /usr/dt/config/Xservers /etc/dt/config/Xservers
fi

echo "   :1   Local local_uid@none root /usr/X11/bin/Xserver :1" >> /etc/dt/config/Xservers
echo "   :2   Local local_uid@none root /usr/X11/bin/Xserver :2" >> /etc/dt/config/Xservers

pkill -HUP dtlogin

lunes, 18 de julio de 2016

Administración de Privilegios y Roles en Solaris, RBAC

Se puede dar privilegios especificos a usuarios no root para que ejecuten tareas avanzadas o solo permitidas a usuarios root, esto se puede completar con los siguientes y sencillos pasos:
1.
Crear una Cuenta de Role.
2.
Setear Password a la cuenta Role.
3.
Editar el archivo /etc/security/prof_attr y crear o buscar el profile con la descripcion de las tareas que queremos permitir ejecutar al usuario.
4.
Editar el archivo /etc/security/exec_attr para ver o definir lo que el profile puede hacer o ejecutar.
5.
Asociar el profile con la cuenta de role con el siguiente comando /usr/bin/rolemod.
6.
Agregar el role al usario con el comando usermod.

Ejemplo:

Usar RBAC para permitir a un usuario general o no root reiniciar o apagar el servidor en ventanas de mantenimiento.
Rolename:  mantenimiento
Username:  operador
Profile Name: Maintenance and Repair

1. Crear la cuenta de role:

# roleadd -d /export/home/mantenimiento -m mantenimiento
             
Asignar password a la cuenta de role

# passwd mantenimiento
        
2. validar el profil Maintenance and Repair.

Ver el archivo /etc/security/prof_attr y buscar la linea de Maintenance and Repair:

Maintenance and Repair:::Maintain and repair a system:auths=solaris.smf.manage.system-log,solaris.label.range,solaris.admin.logsvc.write,solaris.admin.logsvc.read,solaris.compsys.write,solaris.compsys.read,solaris.system.shutdown;help=RtMaintAndRepair.html

3. Validar los atributos de ejecución en el archivo /etc/security/exec_attr.
Este define el comando o script a ejecutar y el uid que el role asume al ejecutarlo.

Ver el archivo /etc/security/exec_attr:

Maintenance and Repair:suser:cmd:::/sbin/bootadm:uid=0
Maintenance and Repair:suser:cmd:::/sbin/init:euid=0
Maintenance and Repair:suser:cmd:::/usr/bin/date:euid=0
Maintenance and Repair:suser:cmd:::/usr/bin/ldd:euid=0
Maintenance and Repair:suser:cmd:::/usr/bin/mdb:euid=0
Maintenance and Repair:suser:cmd:::/usr/bin/vmstat:euid=0
Maintenance and Repair:suser:cmd:::/usr/sbin/eeprom:euid=0
Maintenance and Repair:suser:cmd:::/usr/sbin/halt:euid=0
Maintenance and Repair:suser:cmd:::/usr/sbin/poweroff:uid=0
Maintenance and Repair:suser:cmd:::/usr/sbin/prtconf:euid=0
Maintenance and Repair:suser:cmd:::/usr/sbin/reboot:uid=0
Maintenance and Repair:suser:cmd:::/usr/sbin/syslogd:euid=0

4. Use el comando rolemod para agregar los profiles Maintenance and Repair y All al role de la siguiente manera:

# rolemod -P "Maintenance and Repair",All Mantenimiento

5. El comando rolemod actualiza el archivo /etc/user_attr file. Verifique que los cambios fueron hechos.

# more /etc/user_attr 

mantenimiento::::type=role;profiles=Maintenance and Repair,All
operador::::type=normal;roles=mentenimiento

Aqui puede ver facilmente que el role mantenimiento a sido asignado al usuario operador. El profile Maintenance and Repair esta ahora asociado al role mantenimiento.

6. Use el comando usermod para agregar el role al usuario.

# usermod -R mantenimiento <username>

Listo!

Instrucciones para el Usuario:

Debe estar logeado con la cuenta de usuario requerida (en este caso usuario operador).

Cambiar el usuario al Role de la siguiente manera:

$ su - mantenimiento
Password: <enter password>

Una vez que se ha autenticado con el Role puede ejecutar cualquier comando del Profile Maintenance and Repair de la siguiente manera:

$ /sbin/init 5 #para apagar
$ /usr/sbin/reboot #para reiniciar

etc!

Para salir del Role y regresar al usuario inicial escriba exit.

viernes, 15 de julio de 2016

Actualizar Sistema Operativo Solaris 11 desde el repositorio de soporte de Oracle

# 1) Descargar los archivos de Llave y Certificado pkg.oracle.com.key.pem y pkg.oracle.com.certificate.pem del sitio de soporte de Oracle http://pkg-register.oracle.com.

# 2) Crear el directorio /var/pkg para almacenar los archivos de llave y certificado y copiar los archivos descargados a este directorio.

    mkdir -m 0755 -p /var/pkg/ssl
    cp -i ~/pkg.oracle.com.key.pem /var/pkg/ssl
    cp -i ~/pkg.oracle.com.certificate.pem /var/pkg/ssl
   

# 3) Agregar el publisher que apunte al sitio de soporte de la siguiente manera:

    pkg set-publisher \
               -k /var/pkg/ssl/pkg.oracle.com.key.pem \
               -c /var/pkg/ssl/pkg.oracle.com.certificate.pem \
               -G '*' -g https://pkg.oracle.com/solaris/support/ solaris
   
# 4) Validar la configuración ingresada con:

    pkg publisher

# 5) Para listar los paquetes soportados utilizar el siguiente comando:

     pkg list -a 'pkg://solaris/*'



# 6) Actualizar el Sistema operativo con el comando:

     pkg update

Solaris11 Habilitar Desktop y VNC

# En una instalación normal del Sistema Operativo Solaris 11 este no incluye los paquetes de Escritorio ni conexion remota vnc
# Para habilitar el acceso a Desktop desde consola o remotamente desde VNC es requisito instalar primero el paquete solaris-desktop

# 1) Instalar Paquete solaris-desktop a Sistema Operativo
# Para esto puede ser requerido configurar el support-repository antes de ejecutar el comando pkg install

pkg install solaris-desktop

# 2) Configurar el archivo /etc/gdm/custom.conf con las Siguientes Opciones

[xdmcp]
Enable=true
[security]
DisallowTCP=false
AllowRoot=true
AllowRemoteRoot=true

# 3) Habilitar el Servicio xvnc-inetd
inetadm -e xvnc-inetd

# 4) Reiniciar el servicio svc:/application/graphical-login/gdm:default

svcadm restart svc:/application/graphical-login/gdm:default

# 5) Configurar los servicios x11-server, xvnc-inetd :

svccfg -s x11-server setprop options/tcp_listen=true
svccfg -s xvnc-inetd setprop inetd/wait=true
svccfg -s xvnc-inetd
setprop inetd_start/exec=astring:"/usr/bin/Xvnc -geometry 1280x720 -inetd -query localhost -once securitytypes=none"
exit

# 6) Reiniciar los servicio gdm y xvnc-inetd

svcadm restart gdm xvnc-inetd
svcadm disable gdm xvnc-inetd
svcadm enable gdm xvnc-inetd

# Con esto se puede probar ya el acceso con cliente vnc o mediante consola al desktop del servidor.

Limpiar fallas y alarmas en Servidores Oracle/Sun Fire Vxxx y Txxxx

###Limpiar FMA faults en Servidores Oracle/Sun Fire T1000/T2000 Vxxx

# Después de reemplazar una parte en un Servidor Sun Fire T1000/T2000 o Sun Fire Vxxx, puede ser necesario limpiar las fallas y alarmas.
# Esto se puede realizar de dos maneras:

# 1) Via la consola SC:
# Es preferible ejecutar esto desde la consola SC ya que no requiere reinicio del sistema operativo

# a) Limpiar Fallas y Alarmas desde la Consola SC:

#    Mostrar, listar las fallas en la consola SC

        sc> showfaults -v

#    Para cada falla listada ejecutar:

        sc> clearfault <uuid>

#    Si existe algun componente deshabilitado o algun componente quedó en estado disabled ejecutar:

        sc> clearasrdb

# b) Limpiar los reportes de fallas y alarmas en la consola SC

    sc> setsc sc_servicemode true
    sc> clearereports -y
    sc> setsc sc_servicemode false

# 2) Via el Sistema Operativo Solaris:
# a) Para limpiar las fallas FMA o logs de errores desde el sistema operativo Solaris:

#    Listar las Fallas registradas en el FMA

        root@solaris# fmadm faulty

#    Para cada falla mostrada por el comando ‘fmadm faulty’ ejecutar:

        root@solaris# fmadm repair <uuid>

#    Vaciar los ereports y resource cache

        root@solaris# cd /var/fm/fmd
        root@solaris# rm e* f* c*/eft/* r*/*

#    Resetear los modulos fmd y serd

        root@solaris# fmadm reset cpumem-diagnosis
        root@solaris# fmadm reset cpumem-retire
        root@solaris# fmadm reset eft
        root@solaris# fmadm reset io-retire

#    Reiniciar el sistema operativo:

        root@solaris# reboot
#    o
        root@solaris# shutdown -y -g0 -i6

ALOM Password Reset

### La linea de Servidores Sun Fire Vxxx y Sun Fire Txxxx tienen interface de administración ALOM

### DESDE EL SISTEMA OPERATIVO SOLARIS
# La cual puede ser administrada desde sistema operativo con la utileria scadm

# Primero debemos validar que se encuentre instalada la utileria scadm

cd /usr/platform/`uname -i`/sbin

### Con la utileria scadm instalada podemos usar los siguientes comandos para cambiar el password de cualquier usuario.

./scadm usershow
./scadm userpassword <username>


### DESDE LA CONSOLA SERIAL DEL SERVIDOR:

#Debemos presionar la tecla ESC Durante el proceso boot de la ALOM cuando el siguiente Texto se despliega en la pantalla.

Boot Sector FLASH CRC Test
Boot Sector FLASH CRC Test, PASSED.


Return to Boot Monitor for Handshake

# Despues de presionar la tecla ESC nos aparece el Menu ALOM boot escape:

ALOM Menu

e - Erase ALOM NVRAM.
m - Run POST Menu.
R - Reset ALOM.
r - Return to bootmon.
Your selection:

# En este ingresamos la tecla e para borrar la configuración del ALOM y no nos solicitará password al ingresar.