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