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
El Objetivo de este blog es mostrar ejemplos de configuraciones y procedimientos en la administración de Sistemas Operativos Unix(Solaris y Linux) y Bases de Datos Oracle. Los ejemplos ya han sido probados y utilizados en la implementacion de muchos ambientes.
miércoles, 27 de julio de 2016
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.
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
# 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.
# 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
# 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.
### 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.
Suscribirse a:
Entradas (Atom)