Home

Advertisement

ZFS de Solaris

  • Jan. 23rd, 2008 at 11:01 AM




Antes de empezar a hablar de zfs, la jerarquía de directorio, les quería mostrar la foto de Silicon Valley que había colgada en el instituto, es vieja, de 2006, por eso, no aparece google, por ej, si la clickeas, la podes ver en más detalle...
Hoy es el último día de curso, asi que, la fotografié :-)



ZFS

Docs oficiales de Sun

ZFS es un tipo de fs

Concepto asociado a discos, pero pongo los 10 discos en un pool
un disco scsi interno, 6 hot swap
add 10 más y lo meto en el pool
se rompe un disco, lo migro y cambio el disco y listo (es como un RAID5, pero sin el concepto de striping y paridad)
podria agregarle el RAID5
pero conviene que lo maneje el ZFS, porque tiene Zarray (RAIDZ)

se trabaja en modo transaccional, no se sobreescribe data, es todo nuevo
se hace commit y dejo desreferenciada la anterior (pero queda)
puedo perder las ultimas modific del arch, pero lo ppal lo tengo
metadata, info debloques, donde empieza, etc
toda la metadata tiene su checksum, y si la verificación le da mal, copia lo bueno

zfs es fs de 128 bits (el sistema de guardado de arch)
es una mezcal de tabla de fat y de inodos,
los inodos estan adentro de db, que estan adentro de archs, que estan adentro de tablas
memo, como min 1 Gb
si tendré discos espejados, recomienda más de 1 controladora

snapshot, no genera consumo de espacio en disco
cuando uso el snapshot para hacer el arch, ahí si, genero espacio por duplicado

para crear el zfs, lo creo, desp lo monto, creo pools asociados al zfs

adentro del pool puedo crear discos nuevos y fs adicionales
el dispositivo es /dev/dsk
puedo usar slices , pero se recomienda discos enteros
cuando creo discos enteros, c/u tiene un label
zfs nos permite tener dif unix fs (ufs) adentro de nuestro pool
no conviene ufs para produccion, sino zfs

RAID-Z = RAID-15
se genera un nuevo nro de dispositivo para raidz
necesito al menos 2 hd para hacer un raidz
mas complejo, raidz con 7 discos, otros 7 en otro raidz
y desp espejo el 1º raidz con el 2º raidz

no tiene buena performance usar discos distintos, un conj de 128 mb y otro de 64 mg
habra dif de performance en cuando termina uno y el otro

raidz, cuando se detecta bloque fallado, asigna la metadata para sanarlo
si uso el pool de raid, y le sumo un disco, automaticamente pasa a formar parte

zfs se encarga de balancear el contenido de los discos adentro de nuestro pool

comandos
zpool create tank c1t0d0 c1t1d0
zpool create tank mirror c1d0 c2d0 mirror c3d0 c4d0
y mas, /dev para paridad y doble paridad

el -f vale para dentro del so, dentro del zfs no
ver ejemplo pag 16-16

raid ambos de 3 espejos, no uno con 3 y otro con1
o crear pool que no tenga disco previamente asiganado

destruir el pool
zpool destroy tank

para volverlos a usar, los discos se deben reformatear

zpool list, para ver los pools (% perdido de espacio en administracion)
ALTROOT porque puedo poner otro raiz

zpool status -v  para ver el health status

zfs create tank/home/bonwick creo un dir home adentro de tank

si el fs no se puede desmontar no se puede borrar/destruir

puedo renombrar los zfs

los permisos se heredan y los acls too
estas son props de zfs

zfs list
zfs mount
lee de aca, si tuviera zfs los veria aqui
# cat /etc/mnttab
/dev/dsk/c1d0s0 /                ufs      rw,intr,largefiles,logging,xattr,onerror=panic,dev=1980000      1201090174
/devices          /devices        devfs   dev=4480000                       1201090164
ctfs              /system/contract       ctfs    dev=44c0001                 1201090164
proc            /proc                     proc    dev=4500000                        1201090164http://docs.sun.com/app/docs/doc/819-5461/6n7ht6qr0?a=view
mnttab        /etc/mnttab          mntfs   dev=4540001                               1201090164
swap         /etc/svc/volatile       tmpfs   xattr,dev=4580001                     1201090164
objfs          /system/object    objfs   dev=45c0001                                     1201090164
/usr/lib/libc/libc_hwcap2.so.1  /lib/libc.so.1  lofs    dev=1980000          1201090172
fd                  /dev/fd            fd      rw,dev=4780001                                       1201090174
swap             /tmp               tmpfs   xattr,dev=4580002                                    1201090175
swap               /var/run        tmpfs   xattr,dev=4580003                                1201090175
-hosts              /net             autofs  nosuid,indirect,ignore,nobrowse,dev=4840001     1201090198
auto_home     /home           autofs  indirect,ignore,nobrowse,dev=4840002                  1201090198
solaris:vold(pid468)    /vol   nfs     ignore,noquota,dev=4800001                                  1201090203
#

se puede administrar vía web

snapshot, no hace falta generar un lugar de bk para esto
zfs list -t snapshot
adentro de cada home tengo un dir oculto .zfs

puedo tener snapshot repetidos, al tercero ya me dice que está usando el mismo arch
se puede hacer rollback del snapshot, y pierdo los anteriores

clones, para copiar en otro disco
copia la tabla de metadata para poner en otro dataset
solo puedo sacar un clon de un snapshot (disco no activo)
puedo destruir el clon
1º destruir el clon y desp los snapshots
si tengo clones y quiero destriur el snapshot, no puedo, 1 destruir el clon.
lo que puedo es promoverlo (con promote), por ej a primario
y ahi destruyo los snapshots

ahora usamos zfs en zonas

en zg o zona no glob, por ej digo asocio zfs a la zona del apache

se puede hacer delegando un dataset de una zg a una zona no glob
para delegar dataset en zona no glob, solo en jerarquía descendente (pag 16-55)
tool add volume, modificar storage pool

Tags:

busca en alexa's blog

Solaris Virtualizacion

  • Jan. 23rd, 2008 at 9:22 AM

Virtualizacion

vmware o so host con maq guest
o
particiones, booteo de un solaris y prendo adentro desde este solaris otro solaris, como otra instancia de ese mismo so
(no tengo la ventaja del vmware de prender otro so)

Zones
Existe la zona global, (aconseja como minimo 1 Gb), la que contiene a todas, seria el z/os del 390
(too existen LPARs)
y encima todas las vms
en la zg se administra todo y todas las zonas
c/zona tiene su propio reloj y su propio manager

Zonas globales y no globales
la global es la por default
sunwxall para instalar todo lo que hay disponible para la zg
c/zona tiene un nombrer asignado
la zg siempre se llama zona global (id=0)
las otras, no globales, las ponenel user, diferentes id
para bootear, debo saber el id
puedo poner que arranque con la maq host

las no globales pueden compartir directorios o no

hay un único kernel, que fracciona los recursos para c/u de las zonas no glob
entre las no glob, no se ven

para controlar las zonas , 2 demonios: zoneadmd y zsched (para asignar los recursos)
tendre un zoneadmd y zsched para c/zona que tenga prendida

placas físicas, la zg asigna nombres de recursos, para las placas virtuales

Zone file systems
whole
sparse: la cant mínima de arch necesarios para prender una zon no glob
(archs compartidos por la zg y la zona no glob, por ej /etc/passwd, que se genera en el momento)
por default, /lib y otros
las zonas (no glob) no pueden ser servidores de NFS
cada zona no glob, va a reuqrir conectividad, se configuran con ifconfig
tendré una unidad fis asociada a una unidad log
como en linux, eth0:0
con ":", agrego la virtual, aca es ce0:1
0 es la global, la fis, las demas empiezan de 1 (en realidad, empiezan de 0, pero es la global misma, la física misma, esta implicito, no se pone)
puede ser c30:0 es la física de la global
ce1:0
las que son las maq virtuales (zonas no glob), son ce0:1, ce1:2
el 2º nro no se repite, es el id de la zona que estoy prendiendo

Estados de las zonas
undefined, configured, incompleta (falta el commit), installed, ready (chequea y se fija si está booteable), running, shutting.
cuando se apaga está de vuelta en instalada, ver graf pag 15-10 el diagrama de estados.

halted es similar al estado installed

Configurando zonas
zonecfg -z
y despues commit
deberia tener 100mb libres para c/zona en modelo sparse root

listener@gmail.com, revisarlo


quiero trabajar en la zona de apache, no hace falta que la zona este creada
-lo primero que va a hacer es, crearla .-)
debe existir el /export y masc de permiso 700
que es el /home de la zona
-agregarle los dispositivos
-commit y exit
-ver la zona
por detrás de esto hay archivos xml, por si quiero repetir una configur por ejemplo
los comandos administraativos se corren de zg, no puedo prender otra zona no glob, de una z no glob
loguearme si
comando zoneadm para verificar, instalar, bootear, borrar cosas de zonecfg
-verificar la zona
-instalarla con zoneadm -z nombre_zona install
-bootearla zoneadm -z nombre_zona boot

se puede hacer un halt de la zona, => las aplicaciones son paradas de una manera desprolija, no les digo que se cierren, la db si tuviera queda en estado corrupto
veo las zonas en modo verbose
zoneadm list -v

las zonas no se reindexan, si prendo otra, toma el nro 2, prendo una tercera y le da el nro 1.......es bueno esto??

zlogin, salgo con ñuflo punto de la consola

zoneadm unistall, la baja de memo, pero no la borra
zonecfg delete, este si la borra

Paquetes

lo usual es que todos se instalen en todas las zonas y desp modifico
si instalo en la zg, quedan en todas (ojo al desinstalar algun paquete)
puedo instalar en la zg y no quedan disponibles para las no glob, para despues instlara lo que nquiero
sino instalo directamente en la zona no glob, que quiero
no puedo tener diferentes versiones de los paqutes, aunque sean diferentes zonas

upgrade de paq se puede hacer, de so no
en la prox versión se va a arreglar, que no haya que desinstalar la zona para upgradear so

Upgrade so
solo el so, no los programas
el Custom Jumpstart no se usa mucho


PARA VER LAS ZONAS QUE TENGO EN EL SERVIDOR
zoneadm list -cp
me muestra las zonas y el estado
busca en alexa's blog


Jueves 17 , la penúltima clase

hoy vamos a configurar un cliente de dns, ldap y nis

#CONSOLE=/dev/console


comentar esto en /etc/default/login

para que root se pueda loguear desde un lugar que no sea la consola que esta atachada al equipo, por seguridad
no permitir que root entre así nomás
la regla de buena práctica, entrar como alexa y hacer su

DNS
/etc/resolv.conf para cli
/etc/nsswitch.conf

como dijimos ayer copiar /etc/nsswitch.dns a /etc/nsswitch.conf

el servidor DNS, igual que en otros ux, esta en named.conf  todas las zonas definidas

LDAP
para cli LDAP, más cambios
le seteamos como cli LDAP de un server LDAP
En el server cuando diga adonde conectarse, le ponemos "none"
binding: es el proceso de autenticación, no solo la persona sino too la placa de red, entre mas info, por ej donde tengo un server de directorio home.
como el binding es complicado, le digo no proxy y que se resuelva automáticamente

otra forma de instalarlo es con ldapclient
una entrada para cada dominio (por el árbol ldap, la jerarquía, que está en el servidor)

# ldapclient
Usage: ldapclient [-v | -q] init | manual | mod | list | uninit [<args>]

Set up a server or workstation as a client of an LDAP namespace.
<args> take the form of '-a attrName=attrVal' as described in the
man page: ldapclient(1M)
#


eyy, tengo bash.......al fin el autocompletar comandos y nombres de archs

copiar nsswitch.ldap a nswitch.conf

ldaplist muestra los contenedores

bash-3.00# ldaplist
ldaplist: LDAP configuration problem (Unable to load configuration '/var/ldap/ldap_client_file' ('').)
bash-3.00# ldap 
(apreto tecla tab tab)
ldapadd     ldapaddent  ldapclient  ldapdelete  ldaplist    ldapmodify  ldapmodrdn  ldapsearch
bash-3.00# ldap


bash-3.00# ldapclient uninit
Cannot recover.  No backup files found.
         Either this machine was not initialized
         by ldapclient or the backup files have been
         removed manually or with an "uninit"
Cannot recover the configuration on this machine.
bash-3.00#


ldapclient uninit  para des-asociarte de ese ldap, en este caso no pertenezco a ninguno...
que frase...mmm.... ;-)
no puede estar asociado a más de uno

este sistema trae un setup, un script para configurar un ldap por default

# pwd
/opt/ses/SA202_C/setup/ldap
# ls
README.txt          install.inf         mkldap.sh           set_up_ldap_server
ids.conf            mkhosts.sh          obsolete            suned.ldif
#

lo corrí y no anduvo, tira error por el script mkldap.sh, porque no tengo el comando directoryserver

ejecuto así
. ./mkldap.sh

Configurar NIS
Sist centralizado en archs de config
los cli se pueden conectar a los servidores maestros y esclavos (igual que en DNS)
# domainname >  /etc/defaultdomain

los directorios domainname son los arch de índice para acceder a las pag de mapa
(es como la zona del dns)

ypcat para buscar una maq
# ypcat
Usage:
        ypcat [-k] [-d domainname] [-t] mapname
        ypcat -x
where
        mapname may be either a mapname or a nickname for a map.
        -t inhibits map nickname translation.
        -k prints keys as well as values.
        -x dumps the map nickname translation table.

ypmatch para buscar algún valor que estuviera seteado
# ypmatch
Usage:
        ypmatch [-d domain] [-t] [-k] key [key ...] mname
        ypmatch -x
where
        mname may be either a mapname or a nickname for a map
        -t inhibits map nickname translation
        -k prints keys as well as values.
        -x dumps the map nickname translation table.


el master está en ASCII
un slave puede actualizarse de otro slave, no tiene porque hacerlo solo del master
(cosa que no hace el DNS, atiende el secundario sólo si está caido)
los cli, no tienen nada, solo el binding que permite acceso a los mapas administrativos
si algun sever se cayera se hace un re-binding automático

que demonios corren?
ypserv
ypbind

rpc.yppassdd que chequea contraseñas de dir adentro de nis
ypxfrd solo corre en esclavos
rpc.ypupdate corre solo en el master, hace el update de todos los mapas cuando se cambian los datos adentro de los archs acii.

too copiar nsswitch.nis a nsswitch.conf

Seguridad en NIS
securenets, para decir tal usuario se puede loguear en tal equipo
o
passwd.adjunct es un arch tipo el shadow, para que no se puedan ver las contraseñas

no hace falta guardar las config en /etc, porque estarán en el master
ojo!! si el master se cae y no tengo los fuentes ascii para generar los mapas, me quedé sin info para regenerar mi sistema

Configuring NIS, ver pasos en pag 14-16 del manual (el server)
los archs que están dentro de /etc los copio por ej en /etc/yp_dir
cuando tenemos todos los archs necesarios copiados, modificados, corro el makefile para generar los archs.
ver /etc/defaultdomain para tener seteado el dominio de NIS
ypinit, tonces llama a make  y generan los mapas

ypstart
ypstop

o con services

para generar mapas nuevos
/usr/sbin/ypinit -m


cliente
ver /etc/inet/hosts para ver si tengo definido el master y/o esclavos, que existe la maq server
luego
# domainname
suned.sun.com
luego
# ypinit -c

In order for NIS to operate sucessfully, we have to construct a list of the
NIS servers.  Please continue to add the names for YP servers in order of
preference, one per line.  When you are done with the list, type a <control D>
or a return on a line by itself.
        next host to add:

darle los nombre o los toma solos
copiar nsswitch.nis a nsswitch.conf
y habilitar el cli con:
# svcadm enable svc:/network/nis/client:default

para comprobar ypwhich


Tags:

busca en alexa's blog

Solaris dns

  • Jan. 16th, 2008 at 12:07 PM

DNS, todo lo mismo de siempre, introduccion

si me lo hackean, el de cache lo reinicio y listo
????????????

seguridad -------------------------------> logueo

dns podria recargar info del arch de host

el demonio se llama in.named

vemos un poco de cada uno

dns, nis, nis+ y ldap : evolucion
nis aparte de dns tiene info de los sist de nuestra red (usuarios, permisos, etc)
nis namespaces, con esto complemento todos los archs del /etc
por defecto estan en /var/yp/domainname
demonio ypserver
cliente ypbind
yp = yellow pages, no se pone por tema de legales

nis+, en la version 11 vendra, en la 12 ya no mas, directo LDAP

nis+namespace que nis no tenia
esto funciona por RPC
nis+ es original de Sun
el ldap de Sun se llama Sun Java Directory Server
los paquetes Sunxxx se lamaran java sunxxx
es mas, las acciones de Sun pasaron a llamarse java - TERRIBLEEEEEEE
mira aca la cotizacion de hoy:
http://www.ahorro.com/acnet/fichas/ficha_valor.acnet/NASDAQ%20COMP/SUN%20MICROSYS/acStockId/66BZfcr81hPrOMLvlDJ_PW*w...html


nsswitch.conf, da el orden
nsswitch.dns, en HPUX  es renombrado a nsswitch.conf (porque sino no nos sirve, viene con NIS, por defecto), justo hoy instalare un HPUX, asi que, a repasar :-)

# cd /etc
# ls nss*
nsswitch.conf     nsswitch.files    nsswitch.nis
nsswitch.dns      nsswitch.ldap     nsswitch.nisplus
#

nscd : Name Service Cache Daemon
esto lo puedo relacionar con los roles, porque guardo mas info, porque esta preparadao para trabajar con ldap o nis+

getent, es como grep para archs en particular, me conviene decirle que busque en un orden, sino decirle el arch en particular
busca por ej en nslookup, en el passwd, en el ldap, etc
es el mismo getent que usamos en samba para buscar en los PDC
busca en alexa's blog

Solaris syslog

  • Jan. 16th, 2008 at 10:06 AM

Miércoles 16 de enero

Es como en linux, syslog.conf
2 columnas: selector y accion
m4 se encarga de leerlo

m4 es el procesador de macros, el mismo que usa sendmail

/dev/sysmsg    por acá salen todos, ya sea error de kernel o de otro

*.err   anda  puedo decir de un error todos los generadores
no anda kern.* , no puedo decir de un generador todos los errores

Ejemplo de arch
# cat /etc/syslog.conf
#ident  "@(#)syslog.conf        1.5     98/12/14 SMI"   /* SunOS 5.0 */
#
# Copyright (c) 1991-1998 by Sun Microsystems, Inc.
# All rights reserved.
#
# syslog configuration file.
#
# This file is processed by m4 so be careful to quote (`') names
# that match m4 reserved words.  Also, within ifdef's, arguments
# containing commas must be quoted.
#
*.err;kern.notice;auth.notice                               /dev/sysmsg
*.err;kern.debug;daemon.notice;mail.crit            /var/adm/messages

*.alert;kern.err;daemon.err                               operator
*.alert                                                               root

*.emerg                                                            *

# if a non-loghost machine chooses to have authentication messages
# sent to the loghost machine, un-comment out the following line:
#auth.notice                    ifdef(`LOGHOST', /var/log/authlog, @loghost)

mail.debug                      ifdef(`LOGHOST', /var/log/syslog, @loghost)

#
# non-loghost machines will use the following lines to cause "user"
# log messages to be logged locally.
#
ifdef(`LOGHOST', ,
user.err                                        /dev/sysmsg
user.err                                        /var/adm/messages
user.alert                                     `root, operator'
user.emerg                                    *
)
#

cuando dice que lo ve el operador, es, si está en consola, si está en terminal gráfica no lo ve
too en operador, si está logueado en más de una consola, le llega a la primera
para root no, le llega a todas en la que esta logueado

svcadm
disable/enable/refresh
inetadm -p
inetadm -M tcp_trace=TRUE para habilitar el trace
inetadm -p  para verlo
cualq cambio en inet es automático

# tail -f /var/adm/messages
Jan 16 08:35:40 solaris sendmail[396]: [ID 702911 mail.alert] unable to qualify my own domain name (solaris) -- using short name
Jan 16 08:36:59 solaris syslogd: line 24: WARNING: loghost could not be resolved
Jan 16 08:59:06 solaris pseudo: [ID 129642 kern.info] pseudo-device: devinfo0
Jan 16 08:59:06 solaris genunix: [ID 936769 kern.info] devinfo0 is /pseudo/devinfo@0
Jan 16 09:21:26 solaris sendmail[935]: [ID 702911 mail.crit] My unqualified host name (solaris) unknown; sleeping for retry
Jan 16 09:23:11 solaris sendmail[939]: [ID 702911 mail.crit] My unqualified host name (solaris) unknown; sleeping for retry
Jan 16 09:24:09 solaris sendmail[942]: [ID 702911 mail.crit] My unqualified host name (solaris) unknown; sleeping for retry
Jan 16 09:25:05 solaris sendmail[950]: [ID 702911 mail.crit] My unqualified host name (solaris) unknown; sleeping for retry




por smc, lo veo así                           



ejercicio, habilitar y loguear mensajes trace de inetd

De la man de inetd

 tcp_trace

         If true, and this is a nowait-type service,  inetd  logs
         the  client's IP address and TCP port number, along with
         the name of the service, for each  incoming  connection,
         using  the  syslog(3C)  facility.  inetd uses the syslog
         facility code daemon  and  notice  priority  level.  See
         syslog.conf(4)  for  a  description  of syslog codes and
         severity levels. This logging is separate from the  log-
         ging done by the TCP wrappers facility.

         tcp_trace is  equivalent  to  the  previous  inetd's  -t
         option     (and    the    /etc/default/inetd    property

SunOS 5.10          Last change: 15 Mar 2007                    7

System Administration Commands                          inetd(1M)


tonces
# inetadm -p
NAME=VALUE
bind_addr=""
bind_fail_max=-1
bind_fail_interval=-1
max_con_rate=-1
max_copies=-1
con_rate_offline=-1
failrate_cnt=40
failrate_interval=60
inherit_env=TRUE
tcp_trace=FALSE
tcp_wrappers=FALSE

# inetadm -M tcp_trace=TRUE
# inetadm -p
NAME=VALUE
bind_addr=""
bind_fail_max=-1
bind_fail_interval=-1
max_con_rate=-1
max_copies=-1
con_rate_offline=-1
failrate_cnt=40
failrate_interval=60
inherit_env=TRUE
tcp_trace=TRUE
tcp_wrappers=FALSE
#


ahora sí lo veo en /var/adm/messages (me hago un telnet a localhost)
Jan 16 09:26:39 solaris sendmail[958]: [ID 702911 mail.crit] My unqualified host name (solaris) unknown; sleeping for retry
Jan 16 09:27:39 solaris sendmail[958]: [ID 702911 mail.alert] unable to qualify my own domain name (solaris) -- using short name
Jan 16 10:48:52 solaris inetd[357]: [ID 317013 daemon.notice] telnet[1145] from 127.0.0.1 33835


agrego esto en syslog.conf
local0.notice   /var/log/local0.log
#
# non-loghost machines will use the following lines to cause "user"
# log messages to be logged locally.
#
ifdef(`LOGHOST', ,
user.err                                        /dev/sysmsg
user.err                                        /var/adm/messages
user.alert                                      `root, operator'
user.emerg                                      *
)
"/etc/syslog.conf" 35 lines, 1035 characters
# touch /var/log/local0.log
# svcadm refresh svc:/system/system-log

puse esto
# logger -p local0.notice "Esto es una prueba"
y no loguea nada

así tampoco
logger -p local0.notice Notice-level Esto es una prueba

lo que pasa que me faltaba el loghost que aparece en el syslog, tonces agrego esta línea en /etc/hosts
127.0.0.1       localhost       loghost
busca en alexa's blog

Access Control en Solaris

  • Jan. 15th, 2008 at 11:18 AM

RBAC Role-based access control
un user ademas de pertenecer a un grupo prmario y varios secundarios, too roles =perfil de derechos, es como una cuenta de user, pero no lo es
para correr determinado progr y con que identificaciones
a los roles too se le pueden asignar recursos
los roles pueden tener contraseñas

atributos de users
# cat /etc/user_attr
#
# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
# /etc/user_attr
#
# execution attributes for profiles. see user_attr(4)
#
#ident  "@(#)user_attr  1.1     07/01/31 SMI"
#
#
adm::::profiles=Log Management
lp::::profiles=Printer Management
postgres::::type=role;profiles=Postgres Administration,All
root::::auths=solaris.*,solaris.grant;profiles=Web Console Management,All;lock_after_retries=no


no hay roles predefinidos (en versiones anteriores si)

agrego un user
# useradd -m -d /export/home/chris chris
64 blocks

# cat /etc/passwd
root:x:0:0:Super-User:/:/sbin/sh
daemon:x:1:1::/:
bin:x:2:2::/usr/bin:
sys:x:3:3::/:
adm:x:4:4:Admin:/var/adm:
lp:x:71:8:Line Printer Admin:/usr/spool/lp:
uucp:x:5:5:uucp Admin:/usr/lib/uucp:
nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico
smmsp:x:25:25:SendMail Message Submission Program:/:
listen:x:37:4:Network Admin:/usr/net/nls:
gdm:x:50:50:GDM Reserved UID:/:
webservd:x:80:80:WebServer Reserved UID:/:
postgres:x:90:90:PostgreSQL Reserved UID:/:/usr/bin/pfksh
svctag:x:95:12:Service Tag UID:/:
nobody:x:60001:60001:NFS Anonymous Access User:/:
noaccess:x:60002:60002:No Access User:/:
nobody4:x:65534:65534:SunOS 4.x NFS Anonymous Access User:/:
alexa:x:100:1::/home/alexa:/bin/sh
chris:x:101:1::/export/home/chris:/bin/sh

de paso vemos la dif de crearlo con useraddd por default (alexa) y el home distinto para chris

# grep chris /etc/user_attr
#

nada, chris no tiene ningun rol asignado

primero invento el rol, ahi no tiene ningun permiso de nada, despues le agrego derechos (es un profile)
ej, puedo ver los roles de root
# roles root
No roles
# roles alexa
No roles
# roles chris
No roles
#

veamos como asignar los perfiles

# cat /etc/security/prof_attr
#
# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
# /etc/security/prof_attr
#
# execution attributes for profiles. see prof_attr(4)
#
#ident  "@(#)prof_attr  1.1     07/01/31 SMI"
#
#
::::
All:::Execute any command as the user or role:help=RtAll.html
Application Server Management:::Administrator of Application Server:
Audit Control:::Configure BSM auditing:auths=solaris.audit.config,solaris.jobs.admin,solaris.admin.logsvc.purge,solaris.admin.logsvc.read;help=RtAuditCtrl.html
Audit Review:::Review BSM auditing logs:auths=solaris.audit.read;help=RtAuditReview.html
Basic Solaris User:::Automatically assigned rights:auths=solaris.profmgr.read,solaris.jobs.users,solaris.mail.mailq,solaris.admin.usermgr.read,solaris.admin.logsvc.read,solaris.admin.fsmgr.read,solaris.admin.serialmgr.read,solaris.admin.diskmgr.read,solaris.admin.procmgr.user,solaris.compsys.read,solaris.admin.printer.read,solaris.admin.prodreg.read,solaris.admin.dcmgr.read,solaris.snmp.read,solaris.project.read,solaris.admin.patchmgr.read,,solaris.network.hosts.read,solaris.admin.volmgr.read;profiles=All;help=RtDefault.html
Contract Observer:::Reliably observe any/all contract events:help=RtContractObserver.html
Cron Management:::Manage at and cron jobs:auths=solaris.jobs.*,solaris.smf.manage.cron;help=RtCronMngmnt.html
Crypto Management:::Cryptographic Framework Administration:help=RtCryptoMngmnt.html
DAT Administration:::Manage the DAT configuration:help=RtDatAdmin.html
DHCP Management:::Manage the DHCP service:auths=solaris.dhcpmgr.*;help=RtDHCPMngmnt.html
Desktop Configuration:::Configure graphical desktop software:auths=solaris.smf.manage.x11,solaris.smf.manage.font,solaris.smf.manage.dt.login
Device Management:::Control Access to Removable Media:auths=solaris.device.*,solaris.admin.serialmgr.*;help=RtDeviceMngmnt.html
Device Security:::Manage devices and Volume Manager:auths=solaris.device.*,solaris.smf.manage.dt.login,solaris.admin.serialmgr.*;help=RtDeviceSecurity.html
FTP Management:::Manage the FTP server:help=RtFTPMngmnt.html
File System Management:::Manage, mount, share file systems:auths=solaris.smf.manage.autofs,solaris.admin.fsmgr.*,solaris.admin.diskmgr.*,solaris.admin.volmgr.*;help=RtFileSysMngmnt.html
File System Security:::Manage file system security attributes:help=RtFileSysSecurity.html;auths=solaris.admin.fsmgr.*,solaris.admin.diskmgr.*,solaris.admin.volmgr.*
IP Filter Management:::IP Filter Administration:help=RtIPFilterMngmnt.html
Kerberos Client Management:::Maintain and Administer Kerberos excluding the servers:help=RtKerberosClntMngmnt.html
Kerberos Server Management:::Maintain and Administer Kerberos Servers:profiles=Kerberos Client Management;help=RtKerberosSrvrMngmnt.html
Log Management:::Manage log files:help=RtLogMngmnt.html
Mail Management:::Manage sendmail & queues:auths=solaris.smf.manage.sendmail;help=RtMailMngmnt.html
Maintenance and Repair:::Maintain and repair a system:auths=solaris.smf.manage.system-log,solaris.admin.logsvc.write,solaris.admin.logsvc.read,solaris.compsys.write,solaris.compsys.read;help=RtMaintAndRepair.html
Media Backup:::Backup files and file systems:help=RtMediaBkup.html
Media Restore:::Restore files and file systems from backups:help=RtMediaRestore.html
Name Service Management:::Non-security name service scripts/commands:help=RtNameServiceAdmin.html
Name Service Security:::Security related name service scripts/commands:help=RtNameServiceSecure.html
Network Management:::Manage the host and network configuration:auths=solaris.smf.manage.name-service-cache,solaris.smf.manage.bind,solaris.smf.value.routing,solaris.smf.manage.routing,solaris.admin.dcmgr.clients,solaris.admin.dcmgr.read,solaris.snmp.*,solaris.network.hosts.*;help=RtNetMngmnt.html
Network Security:::Manage network and host security:auths=solaris.smf.manage.ssh,solaris.network.*;help=RtNetSecure.html
Object Access Management:::Change ownership and permission on files:help=RtObAccessMngmnt.html
Operator:::Can perform simple administrative tasks:profiles=Printer Management,Media Backup,All;help=RtOperator.html
Postgres Administration::::auths=solaris.smf.manage.postgres,solaris.smf.value.postgres
Primary Administrator:::Can perform all administrative tasks:auths=solaris.*,solaris.grant;help=RtPriAdmin.html
Printer Management:::Manage printers, daemons, spooling:help=RtPrntAdmin.html;auths=solaris.admin.printer.read,solaris.admin.printer.modify,solaris.admin.printer.delete
Process Management:::Manage current processes and processors:auths=solaris.smf.manage.cron,solaris.smf.manage.power,solaris.admin.procmgr.*;help=RtProcManagement.html
Project Management:::Manage Solaris projects:help=RtProjManagement.html;auths=solaris.project.read,solaris.project.write
Rights Delegation:::Delegate ability to assign rights to users and roles:auths=solaris.role.delegate,solaris.profmgr.delegate,solaris.grant;help=RtRightsDelegate.html
Service Management:::Manage services:auths=solaris.smf.manage,solaris.smf.modify
Service Operator:::Administer services:auths=solaris.smf.manage,solaris.smf.modify.framework
Software Installation:::Add application software to the system:help=RtSoftwareInstall.html;auths=solaris.admin.prodreg.read,solaris.admin.prodreg.modify,solaris.admin.prodreg.delete,solaris.admin.dcmgr.admin,solaris.admin.dcmgr.read,solaris.admin.patchmgr.*,solaris.smf.manage.servicetags
System Administrator:::Can perform most non-security administrative tasks:profiles=Audit Review,Printer Management,Cron Management,Device Management,File System Management,Mail Management,Maintenance and Repair,Media Backup,Media Restore,Name Service Management,Network Management,Object Access Management,Process Management,Software Installation,User Management,Project Management,All;help=RtSysAdmin.html
System Event Management:::Manage system events and system event channels:help=RtSysEvMngmnt.html
User Management:::Manage users, groups, home directory:auths=solaris.profmgr.read,solaris.admin.usermgr.write,solaris.admin.usermgr.read;help=RtUserMngmnt.html
User Security:::Manage passwords, clearances:auths=solaris.role.*,solaris.profmgr.*,solaris.admin.usermgr.*;help=RtUserSecurity.html
Web Console Management:::Administrator of Sun Java Web Console:
ZFS File System Management:::Create and Manage ZFS File Systems:help=RtZFSFileSysMngmnt.html
ZFS Storage Management:::Create and Manage ZFS Storage Pools:help=RtZFSStorageMngmnt.html
Zone Management:::Zones Virtual Application Environment Administration:help=RtZoneMngmnt.html
#

dc donde estam nuestros archs html

# profiles chris
Basic Solaris User
All
# profiles alexa
Basic Solaris User
All
# profiles root
Web Console Management
All
Basic Solaris User
#

para que puedan correr los comandos basicos
All detalle de como esta corriendo los comandos que no esten en /usr/bin

# grep 'PROFS' /etc/security/policy.conf
PROFS_GRANTED=Basic Solaris User
#
aca dice que el usuario basico de solaris puede usar con su nombre de user e identif de grupo, excepto que sean rcp

le voy a agregar un rol a chris
# usermod -P "Printer Management" chris
# profiles chris
Printer Management
Basic Solaris User
All
#

ver que existe Printer Management en /etc/usr_attr  (lp::::profiles=Printer Management)

# grep chris /etc/user_attr
chris::::type=normal;profiles=Printer Management
#
Antes no aparecia


del smc lo veo asi



asi me paro en el user alexa, boton derecho, asignar derechos, click en la imagen para ver ampliada



# profiles -l chris

      Printer Management:
          /usr/bin/cancel    euid=lp, uid=lp
          /usr/bin/lpset    egid=14
          /usr/bin/lpstat    euid=0
          /usr/lib/lp/local/accept    uid=lp
          /usr/lib/lp/local/lpadmin    uid=lp, gid=8
          /usr/lib/lp/lpsched    uid=0
          /usr/sbin/accept    euid=lp, uid=lp
          /usr/sbin/lpadmin    egid=14, uid=lp, gid=8
          /usr/sbin/lpfilter    euid=lp, uid=lp
          /usr/sbin/lpforms    euid=lp
          /usr/sbin/lpmove    euid=lp
          /usr/sbin/lpshut    euid=lp
          /usr/sbin/lpusers    euid=lp
          /usr/ucb/lpq    euid=0
          /usr/ucb/lprm    euid=0
      All:
          *
#

# /etc/security/exec_attr
#
# execution attributes for profiles. see exec_attr(4)
#
#ident  "@(#)exec_attr  1.2     07/03/30 SMI"
#
#
All:suser:cmd:::*:
Application Server Management:suser:cmd:::/usr/appserver/bin/asadmin:
Audit Control:suser:cmd:::/etc/security/bsmconv:uid=0
Audit Control:suser:cmd:::/etc/security/bsmunconv:uid=0
Audit Control:suser:cmd:::/usr/sbin/audit:euid=0
Audit Control:suser:cmd:::/usr/sbin/auditconfig:euid=0
Audit Control:suser:cmd:::/usr/sbin/auditd:uid=0
Audit Review:suser:cmd:::/usr/sbin/auditreduce:euid=0
Audit Review:suser:cmd:::/usr/sbin/auditstat:euid=0
Audit Review:suser:cmd:::/usr/sbin/praudit:euid=0
Contract Observer:solaris:cmd:::/usr/bin/ctwatch:       privs=contract_event,contract_observer
Cron Management:suser:cmd:::/usr/bin/crontab:euid=0
Crypto Management:suser:cmd:::/usr/bin/kmfcfg:euid=0
Crypto Management:suser:cmd:::/usr/sbin/cryptoadm:euid=0
Crypto Management:suser:cmd:::/usr/sfw/bin/CA.pl:euid=0
Crypto Management:suser:cmd:::/usr/sfw/bin/openssl:euid=0
DAT Administration:solaris:cmd:::/usr/sbin/datadm:euid=0
DHCP Management:suser:cmd:::/usr/lib/inet/dhcp/svcadm/dhcpconfig:uid=0
DHCP Management:suser:cmd:::/usr/lib/inet/dhcp/svcadm/dhtadm:uid=0
DHCP Management:suser:cmd:::/usr/lib/inet/dhcp/svcadm/pntadm:uid=0

 una parte, es muy largoooooooo

# cat /etc/security/exec_attr|grep Print
Printer Management:suser:cmd:::/usr/bin/cancel:euid=lp;uid=lp
Printer Management:suser:cmd:::/usr/bin/lpset:egid=14
Printer Management:suser:cmd:::/usr/bin/lpstat:euid=0
Printer Management:suser:cmd:::/usr/lib/lp/local/accept:uid=lp
Printer Management:suser:cmd:::/usr/lib/lp/local/lpadmin:uid=lp;gid=8
Printer Management:suser:cmd:::/usr/lib/lp/lpsched:uid=0
Printer Management:suser:cmd:::/usr/sbin/accept:euid=lp;uid=lp
Printer Management:suser:cmd:::/usr/sbin/lpadmin:egid=14;uid=lp;gid=8
Printer Management:suser:cmd:::/usr/sbin/lpfilter:euid=lp;uid=lp
Printer Management:suser:cmd:::/usr/sbin/lpforms:euid=lp
Printer Management:suser:cmd:::/usr/sbin/lpmove:euid=lp
Printer Management:suser:cmd:::/usr/sbin/lpshut:euid=lp
Printer Management:suser:cmd:::/usr/sbin/lpusers:euid=lp
Printer Management:suser:cmd:::/usr/ucb/lpq:euid=0
Printer Management:suser:cmd:::/usr/ucb/lprm:euid=0
#

# roleadd -m -d /export/home/level1 -c "Level One Support" -P "Printer Management,Media Restore" level1
64 blocks

# passwd level1
New Password:
Re-enter new Password:
passwd: password successfully changed for level1
#

# grep level1 /etc/passwd
level1:x:102:1:Level One Support:/export/home/level1:/bin/pfsh
# grep level1 /etc/shadow
level1:v7yX9yy/jZIOI:13893::::::
# grep level1 /etc/user_attr
level1::::type=role;profiles=Printer Management,Media Restore
#


todos los usuarios que tiene un rol pueden tener un home
el rol level1 tiene un home y tiene password y un shell distinto
la passw la puede pedir al hacer un switch user

ojo al modificar el rol
# rolemod -P "Media Backup" level1
# grep level1 /etc/user_attr
level1::::type=role;profiles=Media Backup
#
me piso lo anterior, o sea poner todos, o editar el archivo


ahora voy a agregar el rol a un usuario
modificar un rol para decirle que tiene un user, seria asi:

# useradd -m -d /export/home/paul -R level1 paul
64 blocks
# roles paul
level1


sin pongo -R ""  borro todos los roles del user

se debería asignar como roles y no como profiles

permiso más fuerte que el t (sticky bit), será verdad??

rbac tiene prioridades, si el user tiene permiso por directorio o ejecucion de algo, y aca no parece no lo puede hacer

# usermod -A solaris.jobs.admin chris

# auths chris
solaris.jobs.admin,solaris.admin.printer.read,solaris.admin.printer.modify,solaris.admin.printer.delete,solaris.device.cdrw,solaris.profmgr.read,solaris.jobs.users,solaris.mail.mailq,solaris.admin.usermgr.read,solaris.admin.logsvc.read,solaris.admin.fsmgr.read,solaris.admin.serialmgr.read,solaris.admin.diskmgr.read,solaris.admin.procmgr.user,solaris.compsys.read,solaris.admin.prodreg.read,solaris.admin.dcmgr.read,solaris.snmp.read,solaris.project.read,solaris.admin.patchmgr.read,solaris.network.hosts.read,solaris.admin.volmgr.read
#
# grep "Basic Solaris User" /etc/security/prof_attr
Basic Solaris User:::Automatically assigned rights:auths=solaris.profmgr.read,solaris.jobs.users,solaris.mail.mailq,solaris.admin.usermgr.read,solaris.admin.logsvc.read,solaris.admin.fsmgr.read,solaris.admin.serialmgr.read,solaris.admin.diskmgr.read,solaris.admin.procmgr.user,solaris.compsys.read,solaris.admin.printer.read,solaris.admin.prodreg.read,solaris.admin.dcmgr.read,solaris.snmp.read,solaris.project.read,solaris.admin.patchmgr.read,,solaris.network.hosts.read,solaris.admin.volmgr.read;profiles=All;help=RtDefault.html
#
# cd /etc/security
# ls
audit              audit_record_attr  auth_attr          dev                kmfpolicy.xml      prof_attr
audit_class        audit_startup      bsmconv            device_policy      lib                spool
audit_control      audit_user         bsmunconv          exec_attr          policy.conf
audit_event        audit_warn         crypt.conf         extra_privs        priv_names
# cat policy.conf
#
# Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
# /etc/security/policy.conf
#
# security policy configuration for user attributes. see policy.conf(4)
#
#ident  "@(#)policy.conf        1.11    04/09/27 SMI"
#
AUTHS_GRANTED=solaris.device.cdrw
PROFS_GRANTED=Basic Solaris User

# crypt(3c) Algorithms Configuration
#
# CRYPT_ALGORITHMS_ALLOW specifies the algorithms that are allowed to
# be used for new passwords.  This is enforced only in crypt_gensalt(3c).
#
CRYPT_ALGORITHMS_ALLOW=1,2a,md5

# To deprecate use of the traditional unix algorithm, uncomment below
# and change CRYPT_DEFAULT= to another algorithm.  For example,
# CRYPT_DEFAULT=1 for BSD/Linux MD5.
#
#CRYPT_ALGORITHMS_DEPRECATE=__unix__

# The Solaris default is the traditional UNIX algorithm.  This is not
# listed in crypt.conf(4) since it is internal to libc.  The reserved
# name __unix__ is used to refer to it.
#
CRYPT_DEFAULT=__unix__
#
# These settings determine the default privileges users have.  If not set,
# the default privileges are taken from the inherited set.
# There are two different settings; PRIV_DEFAULT determines the default
# set on login; PRIV_LIMIT defines the Limit set on login.
# Individual users can have privileges assigned or taken away through
# user_attr.  Privileges can also be assigned to profiles in which case
# the users with those profiles can use those privileges through pfexec(1m).
# For maximum future compatibility, the specifications should
# always include "basic" or "all"; privileges should then be removed using
# the negation.  E.g., PRIV_LIMIT=all,!sys_linkdir takes away only the
# sys_linkdir privilege, regardless of future additional privileges.
# Similarly, PRIV_DEFAULT=basic,!file_link_any takes away only the
# file_link_any privilege from the basic privilege set; only that notation
# is immune from a future addition of currently unprivileged operations to
# the basic privilege set.
# NOTE: removing privileges from the the Limit set requires EXTREME care
# as any set-uid root program may suddenly fail because it lacks certain
# privilege(s).
#
#PRIV_DEFAULT=basic
#PRIV_LIMIT=all
#
# LOCK_AFTER_RETRIES specifies the default account locking policy for local
# user accounts (passwd(4)/shadow(4)).  The default may be overridden by
# a user's user_attr(4) "lock_after_retries" value.
# YES enables local account locking, NO disables local account locking.
# The default value is NO.
#
#LOCK_AFTER_RETRIES=NO
#


a rol le podemos dar permiso de manejar algo que antes no manejaba.

# grep '^Cron' /etc/security/prof_attr
Cron Management:::Manage at and cron jobs:auths=solaris.jobs.*,solaris.smf.manage.cron;help=RtCronMngmnt.html
#

# usermod -P "Cron Management" alexa
# auths alexa
solaris.jobs.*,solaris.smf.manage.cron,solaris.device.cdrw,solaris.profmgr.read,solaris.jobs.users,solaris.mail.mailq,solaris.admin.usermgr.read,solaris.admin.logsvc.read,solaris.admin.fsmgr.read,solaris.admin.serialmgr.read,solaris.admin.diskmgr.read,solaris.admin.procmgr.user,solaris.compsys.read,solaris.admin.printer.read,solaris.admin.prodreg.read,solaris.admin.dcmgr.read,solaris.snmp.read,solaris.project.read,solaris.admin.patchmgr.read,solaris.network.hosts.read,solaris.admin.volmgr.read
#


lo que agrega son todas las entrdas que tiene el rol, ej solaris.jobs.*

Ejercicio, probemos

# roleadd -u 500 -g 10 -m -d /export/home/mechas mechas
64 blocks

# passwd mechas
New Password:
Re-enter new Password:
passwd: password successfully changed for mechas

agrego que pueda apagar el sistema, la linea Shut

# vi /etc/security/prof_attr
"/etc/security/prof_attr" 59 lines, 6530 characters
#
# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
# /etc/security/prof_attr
#
# execution attributes for profiles. see prof_attr(4)
#
#ident  "@(#)prof_attr  1.1     07/01/31 SMI"
#
#
::::
All:::Execute any command as the user or role:help=RtAll.html
Application Server Management:::Administrator of Application Server:
Audit Control:::Configure BSM auditing:auths=solaris.audit.config,solaris.jobs.admin,solaris.admin.logsvc.purge,solaris.admin.logsvc.read;help=RtAuditCtrl.html
Audit Review:::Review BSM auditing logs:auths=solaris.audit.read;help=RtAuditReview.html
Basic Solaris User:::Automatically assigned rights:auths=solaris.profmgr.read,solaris.jobs.users,solaris.mail.mailq,solaris.admin.usermgr.read,solaris.admin.logsvc.read,solaris.admin.fsmgr.read,solaris.admin.serialmgr.read,solaris.admin.diskmgr.read,solaris.admin.procmgr.user,solaris.compsys.read,solaris.admin.printer.read,solaris.admin.prodreg.read,solaris.admin.dcmgr.read,solaris.snmp.read,solaris.project.read,solaris.admin.patchmgr.read,,solaris.network.hosts.read,solaris.admin.volmgr.read;profiles=All;help=RtDefault.html
Contract Observer:::Reliably observe any/all contract events:help=RtContractObserver.html
Cron Management:::Manage at and cron jobs:auths=solaris.jobs.*,solaris.smf.manage.cron;help=RtCronMngmnt.html
Crypto Management:::Cryptographic Framework Administration:help=RtCryptoMngmnt.html
DAT Administration:::Manage the DAT configuration:help=RtDatAdmin.html
DHCP Management:::Manage the DHCP service:auths=solaris.dhcpmgr.*;help=RtDHCPMngmnt.html
Desktop Configuration:::Configure graphical desktop software:auths=solaris.smf.manage.x11,solaris.smf.manage.font,solaris.smf.manage.dt.login
Device Management:::Control Access to Removable Media:auths=solaris.device.*,solaris.admin.serialmgr.*;help=RtDeviceMngmnt.html
Device Security:::Manage devices and Volume Manager:auths=solaris.device.*,solaris.smf.manage.dt.login,solaris.admin.serialmgr.*;help=RtDeviceSecurity.html
FTP Management:::Manage the FTP server:help=RtFTPMngmnt.html
File System Management:::Manage, mount, share file systems:auths=solaris.smf.manage.autofs,solaris.admin.fsmgr.*,solaris.admin.diskmgr.*,solaris.admin.volmgr.*;help=RtFileSysMngmnt.html
File System Security:::Manage file system security attributes:help=RtFileSysSecurity.html;auths=solaris.admin.fsmgr.*,solaris.admin.diskmgr.*,solaris.admin.volmgr.*
IP Filter Management:::IP Filter Administration:help=RtIPFilterMngmnt.html
Kerberos Client Management:::Maintain and Administer Kerberos excluding the servers:help=RtKerberosClntMngmnt.html
Kerberos Server Management:::Maintain and Administer Kerberos Servers:profiles=Kerberos Client Management;help=RtKerberosSrvrMngmnt.html
Log Management:::Manage log files:help=RtLogMngmnt.html
Mail Management:::Manage sendmail & queues:auths=solaris.smf.manage.sendmail;help=RtMailMngmnt.html
Maintenance and Repair:::Maintain and repair a system:auths=solaris.smf.manage.system-log,solaris.admin.logsvc.write,solaris.admin.logsvc.read,solaris.compsys.write,solaris.compsys.read;help=RtMaintAndRepair.html
Media Backup:::Backup files and file systems:help=RtMediaBkup.html
Media Restore:::Restore files and file systems from backups:help=RtMediaRestore.html
Name Service Management:::Non-security name service scripts/commands:help=RtNameServiceAdmin.html
Name Service Security:::Security related name service scripts/commands:help=RtNameServiceSecure.html
Network Management:::Manage the host and network configuration:auths=solaris.smf.manage.name-service-cache,solaris.smf.manage.bind,solaris.smf.value.routing,solaris.smf.manage.routing,solaris.admin.dcmgr.clients,solaris.admin.dcmgr.read,solaris.snmp.*,solaris.network.hosts.*;help=RtNetMngmnt.html
Network Security:::Manage network and host security:auths=solaris.smf.manage.ssh,solaris.network.*;help=RtNetSecure.html
Object Access Management:::Change ownership and permission on files:help=RtObAccessMngmnt.html
Operator:::Can perform simple administrative tasks:profiles=Printer Management,Media Backup,All;help=RtOperator.html
Postgres Administration::::auths=solaris.smf.manage.postgres,solaris.smf.value.postgres
Primary Administrator:::Can perform all administrative tasks:auths=solaris.*,solaris.grant;help=RtPriAdmin.html
Printer Management:::Manage printers, daemons, spooling:help=RtPrntAdmin.html;auths=solaris.admin.printer.read,solaris.admin.printer.modify,solaris.admin.printer.delete
Process Management:::Manage current processes and processors:auths=solaris.smf.manage.cron,solaris.smf.manage.power,solaris.admin.procmgr.*;help=RtProcManagement.html
Project Management:::Manage Solaris projects:help=RtProjManagement.html;auths=solaris.project.read,solaris.project.write
Rights Delegation:::Delegate ability to assign rights to users and roles:auths=solaris.role.delegate,solaris.profmgr.delegate,solaris.grant;help=RtRightsDelegate.html
Service Management:::Manage services:auths=solaris.smf.manage,solaris.smf.modify
Service Operator:::Administer services:auths=solaris.smf.manage,solaris.smf.modify.framework
Shut::Able to shutdown el sistemas, te gusta?
Software Installation:::Add application software to the system:help=RtSoftwareInstall.html;auths=solaris.admin.prodreg.read,solaris.admin.prodreg.modify,solaris.admin.prodreg.delete,solaris.admin.dcmgr.admin,solaris.admin.dcmgr.read,solaris.admin.patchmgr.*,solaris.smf.manage.servicetags
System Administrator:::Can perform most non-security administrative tasks:profiles=Audit Review,Printer Management,Cron Management,Device Management,File System Management,Mail Management,Maintenance and Repair,Media Backup,Media Restore,Name Service Management,Network Management,Object Access Management,Process Management,Software Installation,User Management,Project Management,All;help=RtSysAdmin.html
System Event Management:::Manage system events and system event channels:help=RtSysEvMngmnt.html
@
"/etc/security/prof_attr" 60 lines, 6576 characters

# rolemod -P Shut mechas
# more /etc/user_attr |grep Shut
mechas::::type=role;profiles=Shut
#

agrego otro user

# useradd -u 4009 -g 10 -m -d /export/home/user9 -s /bin/ksh -R mechas user9
64 blocks
# passwd user9
New Password:
Re-enter new Password:
passwd: password successfully changed for user9
# grep user9 /etc/user_attr
user9::::type=normal;roles=mechas
#

edito /etc/security/exec_attr y le agrego esta linea

Shut:suser:cmd:::/usr/sbin/shutdown:uid=0

# su user9
$ /usr/sbin/shutdown -i 6 -g 0


no anda, tira /usr/sbin/shutdown:  Only root can run /usr/sbin/shutdown

falta agregarla al user

$
$ profiles
Basic Solaris User
All
$ roles
mechas
$ su mechas
Password:
$
$ /usr/sbin/init 0
bootadm: you must be root to run this command
Must be super-user

igual el msg depende de la shell

$ profiles -l

      Shut:
          /usr/sbin/shutdown    uid=0
      All:
          *
$

$ /usr/sbin/shutdown -i 6 -g 0

Shutdown started.    Tue Jan 15 13:04:46 ART 2008

Do you want to continue? (y or n):
busca en alexa's blog

Solaris, ejercicio de espejar el /

  • Jan. 15th, 2008 at 10:04 AM

Así están ahora los discos:
c0d0  s0
c0d1  s4

ojo que usamos s5 en vez de s4

en el disco 0 tengo todo el sist andando
me fijo el tamaño de /
format
partition
print
5Gb = 661 cyl (del 140 al 800)

tonces ahora voy al 2º disco, el 1 y ahí creo la nueva particion de 5 Gb
format
disk, elijo el 1
partition
fdisk
create partition, tipo Solaris2
1º cilindro  o salgo
partition
print
4 (nro de particion)
y ahi le pngo comienza en cyl 383 y fin 1044 o sino 5gb
listo
partition
name "mirror"
quit
save "mirror"
quit (y salgo de format)

 y ahora editamos grub con el comando
# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0d1s5
para ver el dispositivo, format

# metadb -a c0d1s5 -------------------------------------> no existe, tonces la tengo que forzar
# metadb -f -a c0d1s4 ----------------------------------> me dice que es muy chica para la replica
# metadb -f -a c0d1s5 ----------------------------------> ok

Paso 7 (pag 9-89)
ahora por las dudas hago 1 tercera
porque si tengo 2 discos necesito 3 copias como mínimo ((cant de discos  /2)+1)
en el disco c0d0 busco una partición que tengo el tamaño suficiente
metadb -a c0d0s4
metadb -a c0d0s5


Paso 8, ahora crear el volumen RAID0 donde voy a tener el /
metainit -f d11 1 1 c0d0s0
d11 es el original
1 una sola particion (la cantidad)
1 enumero, cada particion

metainit d12 1 1 c0d1s5

Ahora creo el RAID1
metainit  d10 -m d11

Cambio el archivo /etc/vfstab para cambiar el punto de montaje de /  =>lo hago con el comando:
# metaroot d10
entro al arch para verficar , y too al /etc/system par ver rootdev, la última línea

# init 6
apunta a la particion mirror (que todavia no esta espejado), o sea bootea del disco 0 que era d11 y ahora se llama d10
falta espejarlo a d12

# metattach d10 d12                      aca voy a atachar d12 a d10
tira error, d12 : submirror too small to attach

# metastat para ver los detalles de como lo tengo hecho
# metaclear

vulnerabilidad
http://securitytracker.com/alerts/2007/May/1018046.html

Tags:

busca en alexa's blog

Solaris, no root password

  • Jan. 15th, 2008 at 9:18 AM

Debido a un problema que tengo en mi maq, Solaris, arranco sin Java desktop, solo en consola
y lo peor, no me deja loguearme como root !!!!!!!!!!!!!!!!!
En el shadow, root aparece como NP y si entro en modo failsafe no puedo escribir grrrrrrrrrr
alarma......

El archivo /etc/shadow que ya conocemos, en Solaris tenemos:

root:LXeoktCoMtwZN:6445::::::
daemon:NP:6445::::::
bin:NP:6445::::::
sys:NP:6445::::::
adm:NP:6445::::::
lp:NP:6445::::::
smtp:NP:6445::::::
uucp:NP:6445::::::
nuucp:NP:6445::::::
listen:*LK*:::::::
nobody:NP:6445::::::
noaccess:NP:6445::::::
nobody4:NP:6445::::::

LK son usuarios bloqueados
NP es que no tiene passw, o en algunos lados, acceso anonimo, parece raro
Esto dice en la man de passwd
NP           This account has  no  password  and is therefore open without authentication.


Como se bloquea la cuenta de un usuario???
con passwd -l

solaris1:/# passwd -s  alexa
alexa PS 06/15/08 7 7
solaris1:/# passwd -l alexa
solaris1:/# passwd -s alexa
alexa LK 06/27/08 7 7

# cat /etc/shadow
root:QKASWa3cp1eBg:6445::::::
daemon:NP:6445::::::
bin:NP:6445::::::
sys:NP:6445::::::
adm:NP:6445::::::
lp:NP:6445::::::
uucp:NP:6445::::::
nuucp:NP:6445::::::
smmsp:NP:6445::::::
listen:*LK*:::::::
gdm:*LK*:::::::
webservd:*LK*:::::::
postgres:NP:::::::
svctag:*LK*:6445::::::
nobody:*LK*:6445::::::
noaccess:*LK*:6445::::::
nobody4:*LK*:6445::::::
alexa:TIC.7dkexlbYc:13893::::::
#
# passwd -s alexa
alexa PS
# passwd -l alexa
passwd: password information changed for alexa
# passwd -s alexa
alexa LK

Bueno, ahora vamos a crackear el grub
;-)

Tags:

busca en alexa's blog

Solaris clase 6, parte2, RAID y LVM

  • Jan. 14th, 2008 at 10:23 AM

Antes pongo que version de solaris usamos, lo que dice al arrancar la maq
SunOS 5.10 Version Generica_120012-14 64 bits


RAID 0  es más lento, por la escritura, secuencial en cada disco, no redundante, concatenacion y striping
puestos en 2 placas controladoras distintas, pero iguales de caracteristicas
RAID 1 espejado
RAID 5  por un lado el concepto de striping y por otro el de paridad


RAID 0
pongo 3 discos en 1 solo LVM, escribe 3 por cyl de consumo de tiempo
no escribe en cada disco hasta que lo llena, sino en unidad de escritura, por strip
es menos el tiempo, si son 12 (3 discos*4 strips), es 4, porque al escribir 1 tamb escribe 2 y 3
al escribir 4, too escrib 5 y 6, ver grafico pag 8-4
Desv, se rompe y me quedo sin nada

RAID 1
mirror, cada disco copiado
al escribir en 1, escribe en el otro
hay politicas, o escribo los 2 al mismo tiempo  (tiempo de escritura se reduce), o termina de escribir el 1 y ahi escribe el 2º
pero si hay una falla en tiempo de escri, no falla 1 sino los 2 o 3
puede haber un 3º, ventaja, sacar de linea el 3º, hacer un bk, y volverlo a poner y sincronizar
y pude hacer bk sin dejar de disponer de nuestro sistema
los discos se rotan, cuando falla 1, se cambia por el ultimo que pusimos
politica geometrica, se divide segun la geometria del disco si esta siendo utilizado o no
politica first, siempre el 1º
round robin, una cola (RR), asi s egastan de manrea pareja, cuando cambio, cambio los 3, igual que geometrico
maneja hasta 3 copias, el so, si quiero un 4º necesito un opcional
Escrit, paralelo o serie

RAID 0+1
tendre tajadas, identificar volumen espejado y otro conj d etajadas que sera espejo del anterior
los espejos son RAID 0
vent, si tengo un fallo en algun disco, si bien quedo corrupto nuestro file 0, tengo una copia de el

RAID 1+0
raid 1 en la parte de arriba, las tajadas son volumen espejado. Ver graf de pag 8-9

en ninguno de estos casos tengo redundancia en modo escritura, para eso necesito paridad!!

RAID 5
escribo en la paridad y ahi lo paso a los otros discos
igual si falla en la paridad tampoco la voy a poder escribir
La escrit consume un disco de cada uno,k o una tajada mejor dicho
el sist no ve ninguna de las capas de paridad, es transparente, es propiedad del raid y no de como escribimos en el disco
en definitiva estare escribiendo algo que no estoy viendo
al menos tener 3 capas, no deberia hacer mirror ni concatenar en raid 5
lo puedo hacer con sw adicional, un robot de almacenmiento, se encarga (no se lo pido al so)
No hay que crear un volumen de raid 5 donde tenga un fs creado, porque lo pierdo, ojo!!!!!
Primero cargo el so, y luego el raid
el disco de so puede estar espejado y ahi recien el raid
too debo definir el valor de interlaceado que voy a usar, por defecto 16 Kb
adentro de nuestra pila de discos raid, hay discos que son para repuesto, para usar de reemplazo
para mejor performance, dividir nuestro disco en varias controladoras
convienme discos de la misma marca, tecno, y mismos sectores
si hubiera mezclas, uso la geometria del peor
si la tasa de transferencia de uno es menor, uso esa para todos
el raid 5 consume mas disco que el otro
como el calculo de paridad es complicado, dice que seria mejor usar otra cosa y espejarlo
desv, al escribir en bloque de paridad es escrit secuencial, al espejar el tiempo de escrit, se reduce a la mitad
se puede reducir le tiempo, sin depender de la politica, porque ya grabe en los 2 al mismo tiempo, o uno y cuando termina el otro, al escribir el 1º ya queda en disponibilidad

si lo tengo en <> controladoras, setear el interlaceado a 32 Kb podria mejorar la performance de lectura y de escritura
para acceso a volumenes grandes (pag 8-14)

806-6111-10 Solaris Volume Manager Administration Guide

comparaciones
raid 1 escribe mas rapido que raid 5
raid 1  lect mas lenta que 5
sale más barato mantener redundancia, si tengo buena politica de BK, esos datos no cambian mucho
en raid1, la mejor perfio durante una falla
en raid 5, ver donde esta la falla, si se puede recuperar con la paridad, bien, sino es un kilombbbbbbb

esto lo puedo manejar con smc, en la parte de Volume Manager

ya hablo de 128 discos , por defecto el Volmanager levanta con esta cant de discos
como minimos tamaño de discos de 32 Gb (en HPUX es distinto, pueden ser más chicos)

asignar varios pv a un lv
10 discos de 100g, y tengo un lv de 1000g
acá se llama SVM, Solaris Volume Manager, en vez de LVM

DB donde tengo guardado la config de los lv a que disco pertenecen

smc& para levantar la consola java y veamos:

Vamos a configurar  un lvm y hacer un raid 1- Modulo 9

siempre tener la mitad de copias +1 para tener posibildad de volver/restaurar
puedo tener varias copias en el mismo disco, si falla, chau
varias copias en varios discos, etc
de la DB o de l contenido???????
como son los discos, como estan cortados, slices, etc, o sea de la DB

sino tuviese la mitad+1, igual puedo recuperar, pero entrar en modo mantenimiento para hacerlo

gracias a la DB puedo sacar todos mis discos, exportarlo, ponerlo en otra maq y prende ok!

la falla, esto el admin no lo comprueba, lo ves cuando bootea.o el monitor, nagios o mi script, me manda un mail, o un sms!! ahora en trabajo nuevo recibo muchos smsss a toda hora!!!!!

si hago un cambio en la particion, todos los espejos se deberian sincronizar
si hubo un cambio, el disco no se montara hasta que sincronice la DB

metadb -a para crear la DB, con opciones.....
-c 2, para setear la cant de copias que quiero

metainit para crear el dispositivo, con opciones too, de los slices que voy a usar, etc
con -f lo fuerzo porque esta montado
con -d0 pongo el nombre de dispositivo que estoy creando
son metadiscos
concatenar un disco al otro
esto es hacer lo mismo por comadnos que del smc
si quiero agregar un disco nuevo, primero usar el fdisk, crear las tajadas y dopo venir aca

growfs para que crezca, el fs no se enteró
esto no toca la tabla de inodos, too se puede hacer del smc

un mirror puede tener 2 o 3 submirrors
acordarse lo que dijimos del BK

si hago un mirror de /
es mejor de la línea de comandos, y no de smc, ver pasos en pag 9-32
mi / pasó a ser tajada0 (d11) y el espejado tajada 1 (d12)
ya creamos el raid 0, ahora voy a armar el raid 1

d10 va a ser un mirror de d11
# /usr/sbin/metainit d10 -m d11

no lo puedo hacer en caliente el mirror de /, por eso no uso d12 y uso d11

# metaroot d10  esto solo vale /, si fuera otro fs, hacerlo a mano
# grep md /etc/vstab
# tail /etc/system

# cat /etc/system
*ident  "@(#)system     1.18    97/06/27 SMI" /* SVR4 1.5 */
*
* SYSTEM SPECIFICATION FILE
*

* moddir:
*
*       Set the search path for modules.  This has a format similar to the
*       csh path variable. If the module isn't found in the first directory
*       it tries the second and so on. The default is /kernel /usr/kernel
*
*       Example:
*               moddir: /kernel /usr/kernel /other/modules

* root device and root filesystem configuration:
*
*       The following may be used to override the defaults provided by
*       the boot program:
*
*       rootfs:         Set the filesystem type of the root.
*
*       rootdev:        Set the root device.  This should be a fully
*                       expanded physical pathname.  The default is the
*                       physical pathname of the device where the boot
*                       program resides.  The physical pathname is
*                       highly platform and configuration dependent.
*
*       Example:
*               rootfs:ufs
*               rootdev:/sbus@1,f8000000/esp@0,800000/sd@3,0:a
*
*       (Swap device configuration should be specified in /etc/vfstab.)

* exclude:
*
*       Modules appearing in the moddir path which are NOT to be loaded,
*       even if referenced. Note that `exclude' accepts either a module name,
*       or a filename which includes the directory.
*
*       Examples:
*               exclude: win
*               exclude: sys/shmsys

* forceload:
*
*       Cause these modules to be loaded at boot time, (just before mounting
*       the root filesystem) rather than at first reference. Note that
*       forceload expects a filename which includes the directory. Also
*       note that loading a module does not necessarily imply that it will
*       be installed.
*
*       Example:
*               forceload: drv/foo

* set:
*
*       Set an integer variable in the kernel or a module to a new value.
*       This facility should be used with caution.  See system(4).
*
*       Examples:
*
*       To set variables in 'unix':
*
*               set nautopush=32
*               set maxusers=40
*
*       To set a variable named 'debug' in the module named 'test_module'
*
*               set test_module:debug = 0x13
#

es el archivo de configuracion de los fs, conviene no tocarlo

sigo con los pasos
reboot el sistema
no tendre  2 / ????
y
# metattach d10 d12
# metastat d10     sincroniza


el hw de so no sabe todavía, debo decirle que hay una copia de / en otro lado

ok es el prompt de las SPARC, sin entrar al bios, sino al bios directo para sparc
creamos un alias con nvalias
sd@3.0,:b es un disco

tonces si se me jode el /, puedo bootear desde acá

sino la otra opción, el bios, entro fdisk y le digo que uso otra partición de booteo, en el grub, porque ve ambos discos
(el anterior no)

viendo graf de geometria de disco, so solaris empieza en 2º cyl

Tags:

busca en alexa's blog

Solaris clase 6

  • Jan. 14th, 2008 at 7:59 AM

En el asado de Wikimedia, hablando con Enrique (que es uno de mis capos, la cumbre de los 5, quizá se agrega un sexto, está en observación) , me dijo lo que yo esperaba:
que solaris es lo que se esta migrando en todos lados, del muuuundo
Cuando le conté que en mi trabajo, los equipos solaris se migrarían en el futuro a HPUX, me dijo "Ah! uds van al reves del mundo!"
Por un lado me desilusioné, pero por otro me puse contenta, siempre fui fan de solaris, quería hacer cursos, no se porque me llamó la atencion......desde que conocí que existía linux, y que era un hijo de unix, openBSD y Solaris fueron mis elegidos ;-)
y ahora estoy en Sun
ya sigo escribiendo, comenzando la clase 6, que es AUTOFS

/etc/defaultroute
Acá se guarda el router, para que no lo haga cada vez, por extraña razon cada vez que lo prendo se borró el /etc/resolv.conf
y me sobreescribe con el viejo, a donde lo guarda??
el profe dice que es por el dhcp
si existe este arch, aunque vacío, está por dhcp
# cat  dhcp.rtls0

ver esto:  (y posts anteriores y posteriores, siempre algún problem o cambio copn la config de la red)
# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
rtls0: flags=1004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4> mtu 1500 index 2
inet 192.168.0.212 netmask ffffff00 broadcast 192.168.0.255
ether 0:48:54:84:5f:1b
#

autofs, para configurar solo nfs
se hace en el momento de montaje, en el arranque
autofs se corre solo en el arranque, del lado del cliente
cuando el cli lo necesita ahí se montan las cosas.
autofs llama a automountd, cuando el cli entre a la carpeta, y ahí se monta
o sea, autofs se prende al inicio
automountd lee la lista de montajes y monta
En memo hay un arch que tiene todo lo que se monta, por eso se puede hacer automáticamente
Hay dif mapeos
el * es el nombre de user
si pongo el *, al final del nombre del servidor pongo el & (que representa al user)
ej
*   server1:/export/home&
esta es la mas fácil, acá tengo todos, esta línea esta en el arch de mapas automáticos


# cat /etc/auto_master
#
# Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
# ident "@(#)auto_master        1.8     03/04/28 SMI"
#
# Master map for automounter
#
+auto_master
/net              -hosts               -nosuid,nobrowse
/home          auto_home       -nobrowse
/-                 auto_direct       -ro



el +auto_master dice que se fije en el servicio de nombres, generalmente es LDAP

el net
mount nombre_maq:nombre_recurso, lo monta en /net/directorio

las entradas que no aparezcan en ningún lado van a ir a parar a ese lugar

si yo pongo en consola
# cd /net/sys42/documentation             ya automáticamente lo monta, o sea no le dije nunca donde montarlo
no hace falta crear esa estruct de direct, no puedo preconocer que va a venir......el futuro...........chi lo sá
 con el /home, aunque tenga 100 usuarios, solo veré los 3 /home de los 3 usuarios que se conectan ese momento

recordar: ver los /home montados, no es lo mismo que verlo con who o w, por ej todos los cajeros del banco usan el mismo dir

la opción auto_direct, da opciones y existe un arch /etc/auto_direct
ej si no estoy pidiendo /dev o esta en el arch /etc/auto_direct, montalo

automount , el comando, es para que cada tanto tiempo se fije, y si no se usa, lo desmonta, para no tener puntos de montaje innecesarios

si creo un user y no tiene home, no se puede loguear, excepto que este con * (igual revisarlo)

lo de la clase 5
# cd /home
# ls
# cd /export/home
# ls
ale         alexa       lost+found

si voy a /home no hay nada, (porque no estan logueados)
si voy a /export/home, ahí los veo

# dfshares
nfs dfshares:solaris103: RPC: Program not registered
# dfshares solaris3
RESOURCE                                  SERVER ACCESS    TRANSPORT
  solaris3:/export/compartido           solaris3  -         -
#

así veo lo que tiene compartido la maq solaris3

# vi /etc/auto_direct
"/etc/auto_direct" [New file]
/usr/games      -ro,soft        solaris3:/export/compartido


esto es lo que yo comparto
# vi /etc/dfs/dfstab
"/etc/dfs/dfstab" 12 lines, 420 characters

#       Place share(1M) commands here for automatic execution
#       on entering init state 3.
#
#       Issue the command 'svcadm enable network/nfs/server' to
#       run the NFS daemon processes and the share commands, after adding
#       the very first entry to this file.
#
#       share [-F fstype] [ -o options] [-d "<text>"] <pathname> [resource]
#       .e.g,
#       share  -F nfs  -o rw=engineering  -d "home dirs"  /export/home2
share -o ro /usr/games
share -o ro /export/home/ale
~
~


ahora habilito el mountd
# pgrep -fl mountd
  316 /usr/lib/autofs/automountd
  317 /usr/lib/autofs/automountd
# svcadm enable svc:/network/nfs/server
# pgrep -fl mountd
  316 /usr/lib/autofs/automountd
  317 /usr/lib/autofs/automountd
 1004 /usr/lib/nfs/mountd
#
# shareall

# automount -v
automount: hierarchical mountpoint: /home and /home/export/ale
automount: /usr/games mounted
automount: no unmounts
# cd /export/home/ale
# ls
# cd /usr/games
# ls
aaa



# cat /etc/mnttab|grep auto
-hosts  /net    autofs  nosuid,indirect,ignore,nobrowse,dev=4800001     1200307779
auto_home       /home   autofs  indirect,ignore,nobrowse,dev=4800002    1200307779
auto_direct     /usr/games      autofs  direct,ignore,dev=4800003       1200314216
#

# mount
/ on /dev/dsk/c1d0s0 read/write/setuid/devices/intr/largefiles/logging/xattr/onerror=panic/dev=1980000 on Mon Jan 14 10:49:15 2008
/devices on /devices read/write/setuid/devices/dev=4480000 on Mon Jan 14 10:49:02 2008
/system/contract on ctfs read/write/setuid/devices/dev=44c0001 on Mon Jan 14 10:49:02 2008
/proc on proc read/write/setuid/devices/dev=4500000 on Mon Jan 14 10:49:02 2008
/etc/mnttab on mnttab read/write/setuid/devices/dev=4540001 on Mon Jan 14 10:49:02 2008
/etc/svc/volatile on swap read/write/setuid/devices/xattr/dev=4580001 on Mon Jan 14 10:49:02 2008
/system/object on objfs read/write/setuid/devices/dev=45c0001 on Mon Jan 14 10:49:02 2008
/lib/libc.so.1 on /usr/lib/libc/libc_hwcap2.so.1 read/write/setuid/devices/dev=1980000 on Mon Jan 14 10:49:10 2008
/dev/fd on fd read/write/setuid/devices/dev=4780001 on Mon Jan 14 10:49:15 2008
/tmp on swap read/write/setuid/devices/xattr/dev=4580002 on Mon Jan 14 10:49:17 2008
/var/run on swap read/write/setuid/devices/xattr/dev=4580003 on Mon Jan 14 10:49:17 2008
/export/home on /dev/dsk/c1d0s7 read/write/setuid/devices/intr/largefiles/logging/xattr/onerror=panic/dev=1980007 on Mon Jan 14 10:49:25 2008
/usr/games on solaris3:/export/compartido remote/read only/setuid/devices/soft/xattr/dev=4840003 on Mon Jan 14 12:47:18 2008
/usr/share on solaris3:/export/compartido remote/read only/setuid/devices/soft/xattr/dev=4840004 on Mon Jan 14 12:48:18 2008


# vi /etc/auto_direct
"/etc/auto_direct" 5 lines, 102 characters
/usr/share      -ro,soft        solaris3:/export/compartido
/home/export/ale        -ro,soft 192.168.0.104:/Documents


así esta en la maq de Claudia, pará que entro
# ssh -l userb 192.168.0.104
Password:
Last login: Mon Jan 14 10:54:23 2008
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
$ su -
Password:
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
# hostname
solaris4
# cat /etc/auto_direct
/export/compartido   solaris3:/export/compartido
/export/ale              192.168.0.213:/usr/games
#

 y ella me ve, yo soy 192.168.0.213 (me asignó el dhcp)


Ahora creamos usuarios usera y userb para compartir por user
los users tienen que existir en todas las maq
# cd /home/userb
/home/userb: does not exist
# cd /export/home/userb
# ls
local.cshrc    local.login    local.profile
#


para que ande, o reiniciar la maq, o la palabra mágica shareall

http://www.rainlane.com/dispbbs.asp?boardID=11&ID=12147&star=7&page=2

Tags:

busca en alexa's blog

Curso Solaris, parte 5

  • Jan. 11th, 2008 at 11:16 AM

Viernes, se termina la 1º semana de curso en Sun.

Hoy veremos NFS

NFS v4

En la versión 4, todo funciona en 1 solo servicio, antes en nfsv3 , los servicios estaban separados

objetivo: manejar los servicios de nfs

en nuestra red podemos tener varios nfs servers

la red puede ser heterogénea

recordemos que nfs es para compartir archs dentro de la red

si la red no es homog, hay dif so, podría haber delegaciones

la ventaja, el mismo nfs no tiene que ocuparse de a quien le está permitido leer y/o escribir

si alg no entiende la delegac que le mando, puede ser que hay varios accesos al mismo arch

ahi, tonces no delega.

Cuando es solaris contra solaris

no depende del so, sino estandar de fs,  aplicación

nfsv4 usa rpc que es un producto de sun originalmente, (al igual que nfs), por lo tanto, solaris se ve favorecido

como la idea nuestra es migrar los solaris es migrar a hp, veremos poco zfs

con nfs varios usuarios pueden usar los mismos arch sin copiarlos en varios lugares

puedo tener un único netscape. Lo dijo él, en un server de aplicaciones

fs tiene políticas para que varios cli puedan leer archs al mismo tiempo

estos fs los puede ver una maq común como windows


se monta en carpeta del mismo nombre en el otro sistema

/export/pepe/arch1 y dir1

ahora lo monto en /mount/jose/arch1 y dir1 agregados a arch2 y dir2, que quedan tapados mientras está montado el otro

pero no se borra, los tapa, una linda forma de tapar la foto de chema tórrido ;-)

otro ejemplo, si había unos subdirectorios abajo de ese, quedan tapados (mientras está montado)

esta sesion es volátil, en cuanto desmonto desapareció

Cómo hacer para que quede montado siempre, como siempre, grabar en arch

Antes ver que es todo lo que debo exportar


2049 un único port, mejor para el manejo de fw (de qué lado?)

too tendré pseudofs, y cada cliente usará distinto, puedo saber cual usa cada cliente

y tengo posibildad de delegar la escritura

(es más fácil si la red es homog y todos son eq solaris)


lo que exporto no es una copia fiel del server real

y puedo tener una única cosa montada y no varias entradas de montaje


al usar rpc, puedo usar kerberos como método de autenticación

A partir de v4 puedo tener proced compuestos, y así reduzco la transmisión en la red, o sea, menos pedidos

no todos los cli tienen estas opciones=> atributos recomendados


file handleds

File handles are client references that uniquely identify a file or directory on the server. File handles encode a file’s inode number, inode generation number, and disk device number.

se genera uno por c/u
relacionado a seg, permisos, si hay que removerlo de memo o no para o consumir recursos.
El cliente tendrá que eliminar la info de la cache y desp buscar un nuevo file handled


todo nfs se podria delegar en los cli, por defecto la deleg está habiltada

son case sensitive

demonio nfs4cbd es nuevo en esta versión

sino hizo sync, revocarle el permiso

si usara distintas versiones de nfs podría tener inconvenientes


Configuración del servidor NFS

arch ppal /etc/default/nfs

aquí decimos si somos servidores, qué exportamos

y si somos cli, qué importamos

/etc/dfs/fdstab opciones de recursos, el demonio lee acá para ejecutar estas opciones


Para reiniciar o iniciar nfs con svcs -e y -a


/etc/dfs/sharetab lista de lo que estoy compartiendo. No es editable

/etx/dfs/fstypes lista de los distintos fs que estoy llegando a exportar

/etc/rmtab fs remotos y los mounts que tienen


# svcs -v enable nfs/server
svcs: Pattern 'enable' doesn't match any instances
STATE NSTATE STIME CTID FMRI
disabled - 10:16:04 - svc:/network/nfs/server:default
#


Me equivoqué, puede estar en milestone
Era así para levantarlo:

# svcadm -v enable nfs/server
svc:/network/nfs/server:default enabled.


Abrimos un handled para cada directorio tamb, por cada cliente

adentro de un fs, puede ser que un usuario no tenga permiso para un archivo en especial

nsmapid es nuevo en nfs4, se levanta automáticamente


para ver los demonios funcionado de nfs:

# svcs|grep nfs


comandos

share
unshare
shareall
dfshares
para remotos
dfmounts


http://www.programmerbase.com/510/q-etcdfsdfstab-entries-ignored-during-system-start-5103235.shtm

//extra, la red se desconfiguró

# route add default 192.168.0.1
add net default: gateway 192.168.0.1

http://elladodelmal.blogspot.com:8795

/etc/dhcp.rtls0
lo borro, así obligo a que arranque sin la config del dhcp, sino con ip fija

//fin extra

solaris se llama la máquina server que contiene la carpeta compartida


# mount solaris:/Documents /export/home/ale
# mount
/ on /dev/dsk/c1d0s0 read/write/setuid/devices/intr/largefiles/logging/xattr/onerror=panic/dev=1980000 on Fri Jan 11 07:55:15 2008
/devices on /devices read/write/setuid/devices/dev=4480000 on Fri Jan 11 07:55:05 2008
/system/contract on ctfs read/write/setuid/devices/dev=44c0001 on Fri Jan 11 07:55:05 2008
/proc on proc read/write/setuid/devices/dev=4500000 on Fri Jan 11 07:55:05 2008
/etc/mnttab on mnttab read/write/setuid/devices/dev=4540001 on Fri Jan 11 07:55:05 2008
/etc/svc/volatile on swap read/write/setuid/devices/xattr/dev=4580001 on Fri Jan 11 07:55:05 2008
/system/object on objfs read/write/setuid/devices/dev=45c0001 on Fri Jan 11 07:55:05 2008
/lib/libc.so.1 on /usr/lib/libc/libc_hwcap2.so.1 read/write/setuid/devices/dev=1980000 on Fri Jan 11 07:55:13 2008
/dev/fd on fd read/write/setuid/devices/dev=4780001 on Fri Jan 11 07:55:15 2008
/tmp on swap read/write/setuid/devices/xattr/dev=4580002 on Fri Jan 11 07:55:16 2008
/var/run on swap read/write/setuid/devices/xattr/dev=4580003 on Fri Jan 11 07:55:16 2008
/export/home on /dev/dsk/c1d0s7 read/write/setuid/devices/intr/largefiles/logging/xattr/onerror=panic/dev=1980007 on Fri Jan 11 07:55:27 2008
/export/home/ale on solaris:/Documents remote/read/write/setuid/devices/xattr/dev=4840002 on Fri Jan 11 11:04:32 2008
#

# vi /etc/dfs/dfstab
"/etc/dfs/dfstab" 13 lines, 468 characters

#       Place share(1M) commands here for automatic execution
#       on entering init state 3.
#
#       Issue the command 'svcadm enable network/nfs/server' to
#       run the NFS daemon processes and the share commands, after adding
#       the very first entry to this file.
#
#       share [-F fstype] [ -o options] [-d "<text>"] <pathname> [resource]
#       .e.g,
#       share  -F nfs  -o rw=engineering  -d "home dirs"  /export/home2
share  -o rw,root=root -d "/Documents"  /Documents

~
~
~
"/etc/dfs/dfstab" 13 lines, 448 characters

# svcadm restart svc:/network/nfs/server
# svcs |grep nfs
online         11:49:59 svc:/network/nfs/status:default
online         11:49:59 svc:/network/nfs/mapid:default
online         11:49:59 svc:/network/nfs/rquota:default
online         11:49:59 svc:/network/nfs/nlockmgr:default
# shareall
# svcs |grep nfs
online         11:49:59 svc:/network/nfs/status:default
online         11:49:59 svc:/network/nfs/mapid:default
online         11:49:59 svc:/network/nfs/rquota:default
online         11:49:59 svc:/network/nfs/nlockmgr:default
online         12:22:06 svc:/network/nfs/server:default
#

Con lo que hice, ahora le agregué permisos de escritura

ahora todos pueden crear carpetas
y sale como nobody

# pwd
/export/home/ale
# mkdir alexa
# ls
alexa             notaviernes2.sxw  pepe.txt
nota.txt          pepe
# ls -l
total 18
drwxr-xr-x   2 nobody   nobody       512 Jan 11  2008 alexa
-rw-r--r--   1 root     root        1219 Jan 11  2008 nota.txt
-rw-r--r--   1 root     root        6025 Jan 11 10:59 notaviernes2.sxw
-rw-r--r--   1 nobody   nobody         0 Jan 11  2008 pepe
-rw-r--r--   1 nobody   nobody         0 Jan 11  2008 pepe.txt


peligrooooo, somos todos root en las maquinas
solaris, solaris4, solaris103 y solari3
tonces, vuelvo a dfstab y cambio esta línea:

share  -o rw,root=pepe -d "/Documents"  /Documents

acá le estoy diciendo a pepe que se puede comportar como root

# svcadm restart svc:/network/nfs/server
 
# useradd -m -d /export/home/alexa alexa
64 blocks
# passwd alexa
New Password:
Re-enter new Password:
passwd: password successfully changed for alexa
#


vuelvo a dfstab, add en la línea:
share  -o rw,root=pepe,roberto,alexa -d "/Documents"  /Documents
y reinicio de nuevo
no anda

vuelvo a dfstab
share  -o rw,root=pepe,root=roberto,root=alexa -d "/Documents"  /Documents

ahora entro como alexa, monto el directorio /export/home/ale y.........anda!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1

$ cat /etc/hosts
#
# Internet host table
#
::1     localhost
127.0.0.1       localhost
#192.168.0.103  solaris103
192.168.0.104   solaris4
192.168.0.102   solaris3
192.168.0.101   solaris loghost
192.168.0.213   solaris103      # Added by DHCP


share  -o rw,root=solaris4,root=solaris3,root=solaris103 -d "/Documents"  /Documents

anda tamb
los problemas son los permisos, por eso no dejaba escribir, ojo con esto al crear los compartidos para los usuarios, tener cuidado al asignar carpetas archivos, etc

Tags:

busca en alexa's blog

Solaris, parte 4

  • Jan. 10th, 2008 at 2:36 PM

Hoy jueves 10

Aayer no tuvimos clase porque el profe nos iba a configurar, instalar, re instalar las máquinas para que el curso salga bien, y Solaris funcione correctamente.


Cluster: conj de servidores de sw todo separado, herramientas de desarrollo de red,

core system, end user solaris,

todo esto y más está en los cluster

desp de la install empieza a pedir cds para agregar sw adicional

todo lo que instalo no está habilitado AVERIGUAR!!

cde, común a aix, en los mainframes, 390, as400, hpux

cde es mas liviano, en la facu, para los cursos de java de extension, usan este, porque el java desktop lo mata al servdidor (16 Gb de RAM) cuando se conectan todos los alumnos y hacen sus netbeans......

como sabemos el java consume....., por eso no usamos Java Desktop, sino cde

java desktop, cde o gnome,  se montan arriba del gestor de ventanas.

según la cant de ram que tengo, el solaris prende de una forma o de otra. Por ej, si tengo 128 mb de ram, solo prende en línea de comandos

los nuestros 20 gb traen!!!


# cat /var/sadm/system/admin/CLUSTER

CLUSTER=SUNWCall


no está la parte que permite configurar un DNS correctamente


# updatemanager

Java Accessibility Bridge for GNOME loaded.


# patchadd -p |grep 125333-02

# smpatch download -i 125333-02

125333-02 has been validated.

# cd /var/sadm/spool

# ls

125333-02.jar

cache

patchproSequester

patchpro_dnld_2008.01.10@08:37:50:ART.txt

sunucLog

# smpatch get

patchpro.backout.directory                   - ""

patchpro.baseline.directory                  - /var/sadm/spool

patchpro.download.directory                - /var/sadm/spool

patchpro.install.types                           - rebootafter:reconfigafter:standard

patchpro.patch.source                         - https://getupdates1.sun.com/

patchpro.patchset                                - current

patchpro.proxy.host                              - ""

patchpro.proxy.passwd                         **** ****

patchpro.proxy.port                              - 8080

patchpro.proxy.user                             - ""

# smpatch add -i 125333-02

add patch 125333-02

Transition old-style patching.

Patch 125333-02 has been successfully installed.

# patchadd -p|grep 125333

Patch: 125333-01 Obsoletes: Requires: Incompatibles: Packages: SUNWflash-player-plugin

Patch: 125333-02 Obsoletes: Requires: Incompatibles: Packages: SUNWflash-player-plugin

#

otra forma

voy a instalar 119813-07 X11 6.6.2_x86: Freetype patch

# smpatch update -i 119813-07

119813-07 has been validated.

Installing patches from /var/sadm/spool...

119813-07 has been applied.

/var/sadm/spool/patchpro_dnld_2008.01.10@08:37:50:ART.txt has been moved to /var/sadm/spool/patchproSequester/patchpro_dnld_2008.01.10@08:37:50:ART.txt

/var/sadm/spool/patchpro_dnld_2008.01.10@08:49:19:ART.txt has been moved to /var/sadm/spool/patchproSequester/patchpro_dnld_2008.01.10@08:49:19:ART.txt

#


lo más parecido de sparc es x64


seguridad

shadow por default md5

dice el profe que existe un unmd5

kerberos seria mejor

pero no tenemos


SWAPPING

# swap -s

total: 506044k bytes allocated + 136456k reserved = 642500k used, 1469724k available

#

en que disco está la swap

# swap -l

swapfile               dev               swaplo          blocks       free

/dev/dsk/c1d0s1 102,1            8                   1060280  1060280

#

Genero archivo swapping


los bloques = páginas = 4 Kb

total 4Gb mas o menos = 4K * cant de bloques


# df -h

Filesystem           size     used avail capacity Mounted on

/dev/dsk/c1d0s0 9.6G    3.4G 6.1G 37%        /

/devices              0K       0K     0K    0%          /devices

ctfs                     0K       0K     0K    0%          /system/contract

proc                    0K       0K     0K    0%          /proc

mnttab                0K      0K      0K    0%          /etc/mnttab

swap                   1.4G  844K   1.4G 1%         /etc/svc/volatile

objfs                    0K     0K       0K    0%          /system/object

/usr/lib/libc/libc_hwcap2.so.1 9.6G 3.4G 6.1G 37% /lib/libc.so.1

fd                        0K     0K      0K 0%               /dev/fd

swap                   1.4G 216K  1.4G 1%            /tmp

swap                   1.4G 28K    1.4G 1%            /var/run

/dev/dsk/c1d0s7 190M 1.0M  170M 1%          /export/home

#


# pwd

/usr/local

# mkdir swap


# swap -d /usr/local/swap/swapfile

# cd swap

# mkfile

Usage: mkfile [-nv] <size>[g|k|b|m] <name1> [<name2>] ...

# mkfile 20m swapfile

# swap -l

swapfile              dev    swaplo blocks free

/dev/dsk/c1d0s1 102,1 8         1060280 1060280

#


deshabilitar antes de borrrar con -d


agregar partition

# format

Searching for disks...done



AVAILABLE DISK SELECTIONS:

0. c1d0 <DEFAULT cyl 1911 alt 2 hd 255 sec 63>

/pci@0,0/pci-ide@8/ide@0/cmdk@0,0

Specify disk (enter its number): 0

selecting c1d0

Controller working list found

[disk formatted, defect list found]

Warning: Current Disk has mounted partitions.

/dev/dsk/c1d0s0 is currently mounted on /. Please see umount(1M).

/dev/dsk/c1d0s1 is currently used by swap. Please see swap(1M).

/dev/dsk/c1d0s7 is currently mounted on /export/home. Please see umount(1M).



FORMAT MENU:

disk - select a disk

type - select (define) a disk type

partition - select (define) a partition table

current - describe the current disk

format - format and analyze the disk

fdisk - run the fdisk program

repair - repair a defective sector

show - translate a disk address

label - write label to the disk

analyze - surface analysis

defect - defect list management

backup - search for backup labels

verify - read and display labels

save - save new disk/partition definitions

volname - set 8-character volume name

!<cmd> - execute <cmd>, then return

quit

format>

format> partition



PARTITION MENU:

0 - change `0' partition

1 - change `1' partition

2 - change `2' partition

3 - change `3' partition

4 - change `4' partition

5 - change `5' partition

6 - change `6' partition

7 - change `7' partition

select - select a predefined table

modify - modify a predefined partition table

name - name the current table

print - display the current table

label - write partition map and label to the disk

!<cmd> - execute <cmd>, then return

quit

partition> print

Current partition table (original):

Total disk cylinders available: 1911 + 2 (reserved cylinders)


Part Tag Flag Cylinders Size Blocks

0 root wm 636 - 1910 9.77GB (1275/0/0) 20482875

1 swap wu 3 - 68 517.72MB (66/0/0) 1060290

2 backup wm 0 - 1910 14.64GB (1911/0/0) 30700215

3 unassigned wm 0 0 (0/0/0) 0

4 unassigned wm 0 0 (0/0/0) 0

5 unassigned wm 0 0 (0/0/0) 0

6 unassigned wm 0 0 (0/0/0) 0

7 home wm 610 - 635 203.95MB (26/0/0) 417690

8 boot wu 0 - 0 7.84MB (1/0/0) 16065

9 alternates wu 1 - 2 15.69MB (2/0/0) 32130


partition>quit



en la tabla de particiones los slices los veo, yo en este caso no tengo, porque aunque tenga slices unnassigned no tienen espacio, ver cilindros



las ventanas de texto, se seleccionan desde la X, otra basura

sino al bootear loguearse como root

en : solaris console login

no me da tiempo

tonces antes, en el grub, la opción failsafe


# cat /etc/vfstab

#device device mount FS fsck mount mount

#to mount to fsck point type pass at boot options

#

fd - /dev/fd fd - no -

/proc - /proc proc - no -

/dev/dsk/c1d0s1 - - swap - no -

/dev/dsk/c1d0s0 /dev/rdsk/c1d0s0 / ufs 1 no -

/dev/dsk/c1d0s7 /dev/rdsk/c1d0s7 /export/home ufs 2 yes -

/devices - /devices fs - no -

ctfs - /system/contract ctfs - no -

objfs - /system/object objfs - no -

swap - /tmp tmpfs - yes -

#

# mount

/ on /dev/dsk/c1d0s0read/write/setuid/devices/intr/largefiles/logging/xattr/onerror=panic/dev=1980000 on Thu Jan 10 07:36:30 2008

/devices on /devices read/write/setuid/devices/dev=4480000 on Thu Jan 10 07:36:20 2008

/system/contract on ctfs read/write/setuid/devices/dev=44c0001 on Thu Jan 10 07:36:20 2008

/proc on proc read/write/setuid/devices/dev=4500000 on Thu Jan 10 07:36:20 2008

/etc/mnttab on mnttab read/write/setuid/devices/dev=4540001 on Thu Jan 10 07:36:20 2008

/etc/svc/volatile on swap read/write/setuid/devices/xattr/dev=4580001 on Thu Jan 10 07:36:20 2008

/system/object on objfs read/write/setuid/devices/dev=45c0001 on Thu Jan 10 07:36:20 2008

/lib/libc.so.1 on /usr/lib/libc/libc_hwcap2.so.1 read/write/setuid/devices/dev=1980000 on Thu Jan 10 07:36:28 2008

/dev/fd on fd read/write/setuid/devices/dev=4780001 on Thu Jan 10 07:36:30 2008

/tmp on swap read/write/setuid/devices/xattr/dev=4580002 on Thu Jan 10 07:36:30 2008

/var/run on swap read/write/setuid/devices/xattr/dev=4580003 on Thu Jan 10 07:36:30 2008

/export/home on /dev/dsk/c1d0s7 read/write/setuid/devices/intr/largefiles/logging/xattr/onerror=panic/dev=1980007 on Thu Jan 10 07:36:42 2008

#



MANAGING CRASH DUMPS AND CORE FILES

para tomar una foto de la memo, o cuando se cayó algo

distintos tipos de errores

el eq no presta servicio aunque esté prendido, por ej mucha memo tomada, o mucho recu, o mal cálculo del paginado

nice y renice

se cuelga y el sist no camina más

reinicio

ver archs que representan la memo, para ver el estado del k y de los proc

asi que tome esos datos, los tome y regenere el sist al momento d ecausar el error fatal

Cómo leemos estos archs, hay un curso para esto


comando savecore, me dice el estado del k actualmente, o de antes y lo vuelca en vmcore.X


si el so se cerró no prolijamente, savecore se ejecuta durante el inicio siguiente de la maq

k está en /var/crash/nodename/vmcore.X

/var/crash/nodename/unix.X :lista de todos los nombres y símbolos

nodename es el nombre de maq


dumpadm, para decirle donde dejar el dump

# dumpadm

Dump content: kernel pages

Dump device: /dev/dsk/c1d0s1 (swap)

Savecore directory: /var/crash/solaris1

Savecore enabled: yes

#

acá digo que hago un dump de disco y de las pag


alg fs cuando se llenan, no responden, si /var se llena, pero en este caso no, porque lo dejo en swap

pero dejarlo en swap no garantiza que entra, por eso dejar espacio libre en swap para el dump

si se me generan 2 dumps (al estar recuperando 1), tengo que tener espacio para 2 dumps y el swap de siste, etc


dumpadm está adentro de /usr/sbin, para el caso de reinicio en modo1

# cat /etc/dumpadm.conf

#

# dumpadm.conf

#

# Configuration parameters for system crash dump.

# Do NOT edit this file by hand -- use dumpadm(1m) instead.

#

DUMPADM_DEVICE=/dev/dsk/c1d0s1

DUMPADM_SAVDIR=/var/crash/solaris1

DUMPADM_CONTENT=kernel

DUMPADM_ENABLE=yes

#

no editarlo a mano, peligro, usar el comando dumpadm , para setear tamaño, que quiero que se guarde, etc


Aparte el core, conj de archs que permiten ver el estado, de dif cosas, por ej una shell que cierra anormal

la info que tengo acá la puedo especificar yo


# coreadm

global core file pattern:

global core file content: default

init core file pattern: core

init core file content: defaultserver o algo así

global core dumps: disabled

per-process core dumps: enabled

global setid core dumps: disabled

per-process setid core dumps: disabled

global core dump logging: disabled

#

muestra datos estatus actual del core

puedo decirle nombre de proc, fecha y hora, etc


el arch muestra distintos tipos de dumpadm, ej

global coredump, todos los proc que están ahora corriendo

ver del manual, pag 5-7 qué es cada línea


# cat /etc/coreadm.conf

#

# coreadm.conf

#

# Parameters for system core file configuration.

# Do NOT edit this file by hand -- use coreadm(1) instead.

#

COREADM_GLOB_PATTERN=

COREADM_GLOB_CONTENT=default

COREADM_INIT_PATTERN=core

COREADM_INIT_CONTENT=default

COREADM_GLOB_ENABLED=no

COREADM_PROC_ENABLED=yes

COREADM_GLOB_SETID_ENABLED=no

COREADM_PROC_SETID_ENABLED=no

COREADM_GLOB_LOG_ENABLED=no

#

coreadm tamb se puede cambiar, tiene varias opciones


en rcp, init, los pid son iguales al nro de programa

ej: spray 100012, ver lo de ayer, en la parte 3, módulo2


coreadm -g solo root

los demás parámetros cualquiera


para las opciones del arch, shanon, ojo en memoria tenemos tanto pág nominadas como pág anónimas


Generemos un bug (qué bueno!)

format

fdisk

partition>print

voy a cambiar la partición 5

partition>5

escribi, y sali (de 512mb) no la guarda, si la miro de otra consola, no existe!!!!

volname

quit

de alguna manera hay que hacer un save

save “dump” y así la tomó

ojo, antes, ponerle nombre a la tabla de particiones

partition> name dump


smitty

smit de Aix funciona mejor que estos

no hay AIX para x86


# ps

PID TTY TIME CMD

960 pts/4 0:00 sh

11756 pts/4 0:19 java

12808 pts/4 0:00 ps

# kill -8 11756

# pwd

/var/tmp/dir

# ls

# cd /var/core

# ls

core.java.11756 core.sh.1447

# ls -l

total 156800

-rw------- 1 root root 78728486 Jan 10 12:08 core.java.11756

-rw------- 1 root root 1494514 Jan 10 12:05 core.sh.1447

#


averiguar porque no aparece en /vat/tmp/dir, el archivo core

y sí en /var/core, aca solo paraecen core.java.11756 y el core.sh.1447

Tags:

busca en alexa's blog

Curso Solaris Parte 3

  • Jan. 8th, 2008 at 2:49 PM

Martes 8 de enero (el 2° día de curso), y el calor sigue en 40°C


Módulo 2

Setear configuración de la shell

Acordarse de esto, cuando te joda escribir

# ksh

# set -o vi

y ya tengo el historial de comandos con Esc +k

Para la tecla Bakspace: stty erase ^H

 


# catman -w
 genera el catálogo de las pag de man para que se pueda buscar en ellas


# inetadm -l ftp

SCOPE NAME=VALUE

name="ftp"

endpoint_type="stream"

proto="tcp6"

isrpc=FALSE

wait=FALSE

exec="/usr/sbin/in.ftpd -a"

user="root"

default bind_addr=""

default bind_fail_max=-1

default bind_fail_interval=-1

default max_con_rate=-1

default max_copies=-1

default con_rate_offline=-1

default failrate_cnt=40

default failrate_interval=60

default inherit_env=TRUE

default tcp_trace=FALSE

default tcp_wrappers=FALSE

#

# inetadm|ggrep ftp

ggrep: not found

# inetadm |grep ftp

disabled disabled svc:/network/ftp:default


# svcadm

Usage: svcadm [-v] [cmd [args ... ]]


svcadm enable [-rst] <service> ... - enable and online service(s)

svcadm disable [-st] <service> ... - disable and offline service(s) svcadm restart <service> ... - restart specified service(s)

svcadm refresh <service> ... - re-read service configuration

svcadm mark [-It] <state> <service> ... - set maintenance state

svcadm clear <service> ... - clear maintenance state

svcadm milestone [-d] <milestone> - advance to a service milestone

Services can be specified using an FMRI, abbreviation, or fnmatch(5)

pattern, as shown in these examples for svc:/network/smtp:sendmail


svcadm <cmd> svc:/network/smtp:sendmail

svcadm <cmd> network/smtp:sendmail

svcadm <cmd> network/*mail

svcadm <cmd> network/smtp

svcadm <cmd> smtp:sendmail

svcadm <cmd> smtp

svcadm <cmd> sendmail

para levantar el spray, que lo necesitamos

# svcadm enable svc:/network/rpc/spray:default


tonces para habilitar el ftp, hacemos

# inetadm|grep ftp

disabled disabled svc:/network/ftp:default

# inetadm -e ftp

# inetadm |grep ftp

enabled online svc:/network/ftp:default


# pgrep ftp busca en los procesos


# ps -ef|grep ftp

root 1542 1515 0 10:12:50 pts/5 0:00 grep ftp

#


En solaris, aunque el ftp está habilitado, el ps y el pgrep no me lo muestran

Ahora cuando alguien me haga un pedido de ftp, ahí aparece en el listado de procesos

O sea, tiene que ser con la conexión establecida, aunque me rebote el password ;-)

# pgrep ftp

1550

1551


# rpcinfo|grep spray

100012 1 ticlts q\002\000\000 sprayd superuser

100012 1 udp 0.0.0.0.128.7 sprayd superuser

#


el nro de programa, no es lo mismo que el PID, por ejemplo,
rpcbind siempre es 100000,
spray siempre es 100012

lo que cambia es el nro de pedido, la 2º columna

# rpcinfo -p|grep rpcbind

100000 4 tcp 111 rpcbind

100000 3 tcp 111 rpcbind

100000 2 tcp 111 rpcbind

100000 4 udp 111 rpcbind

100000 3 udp 111 rpcbind

100000 2 udp 111 rpcbind


el rpcbind port 111 aparece en /etc/services, el spray no

es una asignación dinámica, ahora usa el port 32775, pero si lo fijo en /etc/services, cuando haga otra conexión, cuál le va a dar?? no puede darle, se fija en services y está ocupado

o sea, no ponerlo en /etc/services


# pgrep spray

# svcs|grep spray

online 10:05:16 svc:/network/rpc/spray:default


si hago esto

# spray solaris103 solaris3

ahora sí lo veo


# pgrep spray

1638

# svcs|grep spary

# svcs|grep spray

online 10:05:16 svc:/network/rpc/spray:default

#


Módulo 3 Introducing Sun Connection Services

Cómo aplicar parches y se instalan paquetes es del curso anterior, acá veremos como los conseguimos

Las versiones nuevas de los sw son pagas

Lo de seguridad, actualizaciones se pueden bajar, si estoy registrado (gratuito)

puedo aplicar parches sin chequear dependencias

lo puedo hacer con interfaz gráfica Update Manager, por línea de comandos o por web

UM como programa gráf o sino línea de comandos, smpatch

remoto uso el Sun Connection


pantalla login azul, permite loguearnos en el CDE


cada maq tendrá una conexión saliente que pida actualizaciones, por lo tanto tendré un servidor de parches

proxy, este se fija si hay una versión más nueva y la baja

opción muy barata, una sola conexión externa


poner todos los parches juntos y reiniciar una sola vez

que peligro, verificar bien las dependencias, que si se tocan, se puede hacer una cagada

Por seguridad lo voy a hacer en un servidor distinto al de producción.

Hay distintos niveles de parches, como service pack

y si bajo una última versión de solaris, ya tengo esos parches que tendría que pagar si los agrego a una versión vieja de solaris.


otra ventaja de la suscripción, es que puedo bajar cualq parche, aunque sea vieja, o no funcione

los paquetes que piden restart de la maq, la tocan ahí, al volverse a prender, instalan


el proxy no replica el sitio

necesita sun connection2.0 y sun patch manager 2.0


pkginfo muestra los paquetes


clusters de updates lo que windows llama service pack y dale con win, el profe da todos los ej con windows, si es más parecido RH o HPUX

es un jar, árbol de directorios y archivos

de cada paquete, de a uno se instala

smpatch analyze : compara lo que está en la maq local con Sun

smpatch download

smpatch update : hace todo junto (y chequea las dependencias), igual no me soluciona la vida :-(



Al instalar chequear sí o sí las dependencias, porque me puede decir

Patch 119397-06 has been succesfully installed

y no anda

#patchadd -p|grep 119397-06

y no muestra nada

o sea que requiere x paquete, pero no me dice si lo tengo o no, debo buscarlo yo con

#patchadd -p|grep x


ejemplo

# smpatch get

patchpro.backout.directory                - ""

patchpro.baseline.directory               - /var/sadm/spool

patchpro.download.directory             - /var/sadm/spool

patchpro.install.types                       - rebootafter:reconfigafter:standard

patchpro.patch.source                     - https://getupdates1.sun.com/

patchpro.patchset                           - current

patchpro.proxy.host                         - ""

patchpro.proxy.passwd                    **** ****

patchpro.proxy.port                         - 8080

patchpro.proxy.user - ""

#

Así cambio

# smpatch set patchpro.patch.source=file:/net/sys-04/export/updates


# smpatch get

patchpro.backout.directory                    - ""

patchpro.baseline.directory                    - /var/sadm/spool

patchpro.download.directory                  - /var/sadm/spool

patchpro.install.types                             - rebootafter:reconfigafter:standard

patchpro.patch.source                          file:/net/sys-04/export/updates https://getupdates1.sun.com/

patchpro.patchset                                 - current

patchpro.proxy.host                               - ""

patchpro.proxy.passwd                          **** ****

patchpro.proxy.port                               - 8080

patchpro.proxy.user                               - ""

#

Con unset lo vuelvo al anterior

# smpatch unset patchpro.patch.source

# smpatch get

patchpro.backout.directory                             - ""

patchpro.baseline.directory                            - /var/sadm/spool

patchpro.download.directory                          - /var/sadm/spool

patchpro.install.types                                     - rebootafter:reconfigafter:standard

patchpro.patch.source                                   - https://getupdates1.sun.com/

patchpro.patchset                                          - current

patchpro.proxy.host                                         - ""

patchpro.proxy.passwd                                    **** ****

patchpro.proxy.port                                        - 8080

patchpro.proxy.user                                       - ""

#

este proxy es el de red? O el de repositorio de paquetes??


patchpro.patch.source file:/net/sys-04/export/updates https://getupdates1.sun.com/

esto está bien. Pone el repositorio que le digo, y el default lo deja

Si vuelvo a cambiar, pisa el nuevo, y el default lo deja

patchpro.install.types - rebootafter:reconfigafter:standard

Esta es la política

las dependencias no depende de la política, la política es para otra cosa.

La política es update o download o .....nosé

Ejemplo de parche de seguridad

Este se usa o se usó para resolver una vulnerabilidad en Solaris, que puede ser aprovechada por un atacante local para elevar privilegios en el sistema.

El problema de seguridad afecta a los comandos Xsun(1) y Xprt(1) y permite a un atacante local sin privilegios ejecutar código arbitrario, en el contexto de seguridad de los citados comandos (que puede disponer de más privilegios en el sistema que el agresor).

La vulnerabilidad afecta a las versiones 7, 8, 9 y 10 de Solaris, tanto en plataformas SPARC como x86. Sun ya ha facilitado los parches para las versiones 8, 9 y 10 de Solaris 8, 9 y 10, estando pendiente el de la versión 7.

Ver este blog sobre como parchear una máquina solaris.

Módulo 4 Swap

el espacio en HD es espacio dedicado, un slice

en la install pregunta tamaño, sino le asigno nada, usa el default

el so trata de no usar memo en disco, pero si lo necesita llama un programa que la pide

puedo tener más slices para agrandar swap, no se recomienda

idea, los discos de mayor velocidad para hcer swap

si son discos físicos diferentes, sí varias tajadas o slices

conviene varios discos y buses distintos, así no le cargo toda la memo virtual a una sola placa SCSI

si necesito una apl que necesita mas memo y no quiero cambiar la geo de disco, creo otra , invento un lugar donde lo voy a utilizar

Alto paginado, en memo usa todo para lo que está en disco y las tablas que guardan donde está guardado, mallllll

swap más pequeña

mkfile genera un archivo que tiene memo virtual, esta en /etc/vfstab


# cat /etc/vfstab

#device device mount FS fsck mount mount

#to mount to fsck point type pass at boot options

#

fd - /dev/fd fd - no -

/proc - /proc proc - no -

/dev/dsk/c1d0s1 - - swap - no -

/dev/dsk/c1d0s0 /dev/rdsk/c1d0s0 / ufs 1 no -

/dev/dsk/c1d0s7 /dev/rdsk/c1d0s7 /export/home ufs 2 yes -

/devices - /devices devfs - no -

ctfs - /system/contract ctfs - no -

objfs - /system/object objfs - no -

swap - /tmp tmpfs - yes -


la memo swap crece dinámicamnete

si bien el 1º slice lo tengo para swap

al 2º no le doy todo

a medida que mi cant de memo swap empieza a bajar, ahí subo la del 2º slice

default 8198 sparc

4096 x86


no me puedo quedar sin ningun espacio de swapeo, el sist se vuelva inestable


# swap -s

total: 272812k bytes allocated + 107968k reserved = 380780k used, 1758488k available

#

# swap -d resta memo

# swap -a agrega

# swap -l

swapfile dev swaplo blocks free

/dev/dsk/c1d0s1 102,1 8 1060280 1060280

Tags:

busca en alexa's blog

Curso Solaris Parte2

  • Jan. 7th, 2008 at 2:23 PM

MODELO CLIENTE SERVIDOR


SMF service management facility
para asignar/desasignar valores a servcios
para parar/iniciar o reiniciar
el servicio es la unidad fundamental de SMF
los servicios pueden ser locales o remotos

Al arancar la maq en modo multiuser, hay cosas que levantan automáticamente

rc0

rc1, etc, todavía se puede usar
sino servicio y el nombre

Repositorio, ahí hay servicios
alg servicios tiene instancias, alg no, por ej las placas de red no tienen instancias, el tomcat sí
las props que están dentro de las instancias puede ser distinta de las que están en las aplicaciones
puede compartir nombres de valores adentro de un mismo servidor

ej ford y volkswagen cuando estaban unidas, y desp se separaron


FMRI = identificador

identificador servicio : milestone : parámetros

milestone es una config de equipo en particular con tales serv, de tal manera, la maq funciona así, ejemplo standalone (sysconfig)
milestone es como la version renovada de init nro. Ejemplo init 6 para reboot
modo legacy cuando muestra arch de recurso rc3_d/S90samba, por ej
rcS modo Start
Los milestone van en etapas, si carga uno, ya sé que se cargaron bien los anteriores.

Modo user único, single, carga todo lo de /sbin

platform, el kernel va teniendo distintos niveles, al cargar, primero la capa1 de x86 o sparc, ahí carga el disco rígido
y de vuelta partes específicas para la plataforma
Veamos la salida del comando:

# svcs

STATE STIME FMRI

legacy_run 11:18:09 lrc:/etc/rcS_d/S50sk98sol
legacy_run 11:18:13 lrc:/etc/rc2_d/S10lu
legacy_run 11:18:13 lrc:/etc/rc2_d/S20sysetup
legacy_run 11:18:13 lrc:/etc/rc2_d/S40llc2
legacy_run 11:18:13 lrc:/etc/rc2_d/S42ncakmod
legacy_run 11:18:13 lrc:/etc/rc2_d/S47pppd
legacy_run 11:18:13 lrc:/etc/rc2_d/S70uucp
legacy_run 11:18:13 lrc:/etc/rc2_d/S72autoinstall
legacy_run 11:18:14 lrc:/etc/rc2_d/S73cachefs_daemon
legacy_run 11:18:14 lrc:/etc/rc2_d/S81dodatadm_udaplt
legacy_run 11:18:14 lrc:/etc/rc2_d/S89PRESERVE
legacy_run 11:18:14 lrc:/etc/rc2_d/S94ncalogd
legacy_run 11:18:14 lrc:/etc/rc2_d/S98deallocate
legacy_run 11:18:14 lrc:/etc/rc3_d/S16boot_server
legacy_run 11:18:14 lrc:/etc/rc3_d/S50apache
legacy_run 11:18:14 lrc:/etc/rc3_d/S52imq
legacy_run 11:18:14 lrc:/etc/rc3_d/S80mipagent
legacy_run 11:18:14 lrc:/etc/rc3_d/S84appserv
online 11:18:03 svc:/system/svc/restarter:default
online 11:18:04 svc:/network/pfil:default
online 11:18:04 svc:/network/loopback:default
online 11:18:04 svc:/system/installupdates:default
online 11:18:04 svc:/milestone/name-services:default
online 11:18:04 svc:/system/filesystem/root:default
online 11:18:05 svc:/system/scheduler:default
online 11:18:05 svc:/system/boot-archive:default
online 11:18:06 svc:/system/filesystem/usr:default
online 11:18:06 svc:/network/physical:default
online 11:18:06 svc:/milestone/network:default
online 11:18:06 svc:/system/identity:node
online 11:18:06 svc:/platform/i86pc/eeprom:default
online 11:18:06 svc:/system/keymap:default
online 11:18:07 svc:/system/device/local:default
online 11:18:07 svc:/system/filesystem/minimal:default
online 11:18:07 svc:/system/name-service-cache:default
online 11:18:07 svc:/system/identity:domain
online 11:18:07 svc:/system/picl:default
online 11:18:07 svc:/system/resource-mgmt:default
online 11:18:07 svc:/system/rmtmpfiles:default
online 11:18:07 svc:/application/print/cleanup:default
online 11:18:07 svc:/system/sysevent:default
online 11:18:08 svc:/system/power:default
online 11:18:08 svc:/system/coreadm:default
online 11:18:08 svc:/system/cryptosvc:default
online 11:18:08 svc:/system/device/fc-fabric:default
online 11:18:08 svc:/milestone/devices:default
online 11:18:09 svc:/network/initial:default
online 11:18:09 svc:/network/service:default
online 11:18:09 svc:/system/manifest-import:default
online 11:18:09 svc:/milestone/single-user:default
online 11:18:09 svc:/system/filesystem/local:default
online 11:18:09 svc:/system/cron:default
online 11:18:09 svc:/system/sysidtool:net
online 11:18:10 svc:/system/boot-archive-update:default
online 11:18:10 svc:/application/stosreg:default
online 11:18:10 svc:/application/opengl/ogl-select:default
online 11:18:11 svc:/application/font/fc-cache:default
online 11:18:11 svc:/network/routing-setup:default
online 11:18:11 svc:/network/rpc/bind:default
online 11:18:11 svc:/system/sysidtool:system
online 11:18:12 svc:/system/filesystem/autofs:default
online 11:18:12 svc:/platform/i86pc/kdmconfig:default
online 11:18:12 svc:/milestone/sysconfig:default
online 11:18:12 svc:/network/routing/route:default
online 11:18:12 svc:/system/sac:default
online 11:18:12 svc:/system/utmp:default
online 11:18:12 svc:/system/dumpadm:default
online 11:18:12 svc:/application/management/wbem:default
online 11:18:12 svc:/network/inetd:default
online 11:18:12 svc:/system/console-login:default
online 11:18:13 svc:/system/system-log:default
online 11:18:13 svc:/network/rpc/gss:default
online 11:18:13 svc:/application/font/stfsloader:default
online 11:18:13 svc:/network/smtp:sendmail
online 11:18:13 svc:/network/rpc/cde-calendar-manager:default
online 11:18:13 svc:/network/rpc/smserver:default
online 11:18:13 svc:/network/security/ktkt_warn:default
online 11:18:13 svc:/network/rpc-100235_1/rpc_ticotsord:default
online 11:18:13 svc:/system/filesystem/volfs:default
online 11:18:14 svc:/system/fmd:default
online 11:18:14 svc:/network/ssh:default
online 11:18:14 svc:/milestone/multi-user:default
online 11:18:14 svc:/milestone/multi-user-server:default
online 11:18:14 svc:/system/zones:default
online 11:18:15 svc:/system/basicreg:default
online 11:18:15 svc:/application/graphical-login/cde-login:default
online 11:18:15 svc:/application/cde-printinfo:default
online 11:18:42 svc:/system/webconsole:console
offline 11:18:12 svc:/application/print/rfc1179:default
#

ver los milestone

multi user server en el arch


Características de milestone

*single user
*multi user con red pero sin alg cosas
*network
*name services
*sysconfig
*devices, toco disp por separado


son archivos xml los milestone y servicios, etán acá
/var/svc/manifest/liestone/multi-user-server.xml

primero rl rc3 y luego el multi-user-server:, se fija que cosas necesita para ejecutarlo y lo hace

con svcs no puedo ver cada impresora, veo servicio de impresión, y ahí veo los detalles

si tengo 10 impresoras, y una se queda sin papel, no queda en mantenimiento, sino en degradado, porque las otras 9 impresoras están andando.

Para ver los milestone cargados en este momento:

# svcs|grep milestone
online 11:18:04 svc:/milestone/name-services:default
online 11:18:06 svc:/milestone/network:default
online 11:18:08 svc:/milestone/devices:default
online 11:18:09 svc:/milestone/single-user:default
online 11:18:12 svc:/milestone/sysconfig:default
online 11:18:14 svc:/milestone/multi-user:default
online 11:18:14 svc:/milestone/multi-user-server:default
#

es un orden, para llegar al multi-user-server necesito todos los anteriores.


# cd /var/svc/manifest/milestone
# ls
multi-user-server.xml name-services.xml single-user.xml
multi-user.xml network.xml sysconfig.xml

si estás aburrido podes crear tu propio milestone, pero habrá que tocar el bios, ojo Sebas
y puede ser que no prenda
el sistema sabe que milestone existen, tonces copio uno y lo modifico.

NOTA no usar single-user para probar


svc.startd demonio para largar servicios

tamb tenemos un repositorio de la config, de como se prendió el equipo en este último inicio, así encuentro las cosas más rápido

Si es diskless, repositorio en memoria

Se configura con svccfg y svcprop


luego ejecutar inetd

/etc/inet/inetd.conf

(recordar que este arch queda vacío al pedir reconfig del sistema)

para seguridad no habilita todo lo que está acá, en la instalación del so, en modo secure

solo lo que es hijo del secure shell


no dejan señal de hung up

nohup, porque mato al servicio y todos los hijos de este servicio

si fuera un cluster reinicio inetd de a una maq por vez

es poco usual reiniciar inetd

yo, porque hago pruebas, en mis linux y por eso lo reincio seguido, según que esté probando


# inetadm

ENABLED STATE FMRI

disabled disabled svc:/application/x11/xfs:default

enabled online svc:/application/font/stfsloader:default

enabled offline svc:/application/print/rfc1179:default

enabled online svc:/network/rpc/gss:default

enabled online svc:/network/rpc/cde-calendar-manager:default

disabled disabled svc:/network/rpc/cde-ttdbserver:tcp

disabled disabled svc:/network/rpc/mdcomm:default

disabled disabled svc:/network/rpc/meta:default

disabled disabled svc:/network/rpc/metamed:default

disabled disabled svc:/network/rpc/metamh:default

disabled disabled svc:/network/rpc/ocfserv:default

enabled online svc:/network/rpc/smserver:default

disabled disabled svc:/network/rpc/rex:default

disabled disabled svc:/network/rpc/rstat:default

disabled disabled svc:/network/rpc/rusers:default

disabled disabled svc:/network/rpc/spray:default

disabled disabled svc:/network/rpc/wall:default

enabled online svc:/network/security/ktkt_warn:default

disabled disabled svc:/network/security/krb5_prop:default

disabled disabled svc:/network/swat:default

disabled disabled svc:/network/cde-spc:default

disabled disabled svc:/network/nfs/rquota:default

disabled disabled svc:/network/stdiscover:default

disabled disabled svc:/network/stlisten:default

disabled disabled svc:/network/tname:default

disabled disabled svc:/network/telnet:default

disabled disabled svc:/network/uucp:default

disabled disabled svc:/network/chargen:dgram

disabled disabled svc:/network/chargen:stream

disabled disabled svc:/network/daytime:dgram

disabled disabled svc:/network/daytime:stream

disabled disabled svc:/network/discard:dgram

disabled disabled svc:/network/discard:stream

disabled disabled svc:/network/echo:dgram

disabled disabled svc:/network/echo:stream

disabled disabled svc:/network/time:dgram

disabled disabled svc:/network/time:stream

disabled disabled svc:/network/comsat:default

disabled disabled svc:/network/finger:default

disabled disabled svc:/network/login:eklogin

disabled disabled svc:/network/login:klogin

disabled disabled svc:/network/login:rlogin

disabled disabled svc:/network/rexec:default

disabled disabled svc:/network/shell:default

disabled disabled svc:/network/shell:kshell

disabled disabled svc:/network/talk:default

disabled disabled svc:/network/ftp:default

enabled online svc:/network/rpc-100235_1/rpc_ticotsord:default

#

Muestra los que están habilitados, online, etc
pero no aparecen en el arch de config inetd.conf porque está por el SMF
se puede hacer de varias formas, no usar varias

svcs tamb muestra esto, más algo más, los legacy

estas maq no están todas instaladas, les falta terminarlas....

:-(


SMF carga info que está en el inetd más las cosas que puedo cargar por SMF que no están en el inetd


# inetadm -l telnet

SCOPE NAME=VALUE

name="telnet"

endpoint_type="stream"

proto="tcp6"

isrpc=FALSE

wait=FALSE

exec="/usr/sbin/in.telnetd"

user="root"

default bind_addr=""

default bind_fail_max=-1

default bind_fail_interval=-1

default max_con_rate=-1

default max_copies=-1

default con_rate_offline=-1

default failrate_cnt=40

default failrate_interval=60

default inherit_env=TRUE

default tcp_trace=FALSE

default tcp_wrappers=FALSE

#

este está en $HOME/.telnetrc


# inetadm|grep telnet

disabled disabled svc:/network/telnet:default

#

# inetadm -e telnet enabled

# inetadm -d telnet disabled


inetadm es una ventaja de SMF, si lo mato, todas las dependencias se mueren con él



Puertos

algunos se asignan automáticamente, y sino los puedo cambiar

En algunos casos (rpc) el reacomodo de puertos es obligatorio


/etc/services
/etc/inet/services

son =, para qué hay 2??



RPC

es propio de Sun aunque lo han implementado otros UNIX

comando spray, chequea si hay conex (parece que es como el snoop, pero en vez de capa IP, para capa TCP)

lo primero que hago es atar a las 2 maq en el port 111

se pide, se hace el bind

el equipo que pidió el envío sugiere un port nuevo, ej 10500

y el otro dice, oka, yo te voy a contestar po el 10600


# rpcinfo -p

program vers proto port service

100000 4 tcp 111 rpcbind

100000 3 tcp 111 rpcbind

100000 2 tcp 111 rpcbind

100000 4 udp 111 rpcbind

100000 3 udp 111 rpcbind

100000 2 udp 111 rpcbind


a medida que se vayan asignando conexiones, el nro de prog es en el pid del proceso

los port son > 32768


si quiero deshabilitar rpcinfo -d algo

o deshabiltar alguno de los servicios, por ej spray para el milestone de network

algunos comandos

Tags:

busca en alexa's blog

Curso Solaris

  • Jan. 7th, 2008 at 1:21 PM

Curso Solaris SA-202 en Sun
Florida 1 Piso 11 (arriba de la ofi de Reinosa)

Profesor Román Pupato

solaris

Linda aula, en las máquinas el pdf se ve mal, falta instalar algo para el visor de pdf
el visor que está es el de solaris, el que falta es el de acrobat (oficial, no copiado)

;-)


segmentos de red y manejo de fs virtuales

En AIX y solaris 9, cada dev se guardaba en un arch , ya no más
el root es subversivo, cada vez root tiene menos privilegios gggrrrrrrrrrrr!!
entonces los dev son virtualizados, por ej la consola
lo que voy reconociendo lo guardo en un arch virtual en memoria
virtual file systems
too hay fs físicos
No tenemos forma de saber si un fs es f o v, debo saberlo de antes
depende del descriptor de archivo (del campo de ls -l)

la tabla de montajes está en memoria
los contratos entre procesos too
los datos too (?)

Si la maq se cuelga, aparecen arch dump con determinadas partes de la memoria
Hay un arch que representa la mem=foto =/proc/kcore de linux. Está en /core en Solaris


vamos a manejar los dispositivos de storage

bloque de inodos, quien lo accedió, lo modificó, tal UID, tal GID
como los de linux, son 8 KB, los 2 direccionados
hay hasta 3º indireccion
12 directos
single y llegan hasta 16 MB
doble 32 GB
triple 64 TB

Más de un nombre apuntando al mismo inodo

ln -s nombre origen nombre dest

Problema: guardo gifs (imágenes chiquitas)
si tengo fragmentación, voy a tener i apuntando al mismo bloq real
problema, me quedo sin i-nodo para cosas tan chiquitas


ZFS = fs que no sobreescribe el arch que modifico, mantiene los cambios

crece, crece, add discos, etc. Si tenés plata, tenés espacio

no hace falta reorganizar los volúmenes, el fs, pongo $$$ en hw y siempre tengo espacio


controles de acceso

por roles, que es mejor que permisos

algunos sist de SSO no aceptan Root, la 1º letra en mayúscula

al manejarnos con archs, el manejo de nombres es medianamente torpe

ej , tabla de hosts, de mas de 128 entradas, mejor usar ldap o servdores de DN


veremos procedimientos avanzados de instalación

pag prefacio-ii del manual

smc version java (snic de AIX)

arch que se generan al crash del sistemas y discos virtual fs

automatic, quiero que hagas tales cosas: que montes esto, que esté vivo de tal hora a tal hora


RAID

0
1
copia de la 5
raid Z

config sw para manejar el volume manager

sistemas de mensajeria del so
como los queremos los mensajes de error, configurar los logs

Instalar sw
de tal cluster tal paquete, subpaquete
de tal cluster tal paquete, subpaquete
de tal cluster todo el paquete
tal driver
tal sw

hay discos de install, de sw (en solaris 9 tengo 4 discos distintos)

tamb por DHCP, por UDP le carga más sw

Esto no lo vemos:

parches
permisos extendidos para archs (curso 100) para UID y GID
bk y r
lp


pkgadd para agregar paquetes


solaris 10, hay dif versiones
la 1° es de ppios de 2006 y le falta parches importantes
bajar la última
probarlo en VMWare, Virtual Box, en Xen imposible
pentium4 con 1,5 GB de RAM
bajarlo, son exe, crea la iso


Configuración de interfaces

Red
Ipv4
TCP

en tiempo de booteo, y en caliente
al cambiar hostname para que quede consistente, reboot (alg servicios no lo reconocen)
lo mismo para alg parches


disp físicos MAC address son únicos, mentira, del fabricante, o sea el nro de mac en hexadecimal si, pero se pueden clonar, truchas


# ifconfig -a

lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000

elxl0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.103 netmask ffffff00 broadcast 192.168.1.255 ether 0:10:4b:f:80:6

elxl0 son las 3com
rtls0 realtek
ce    cassini
nge0 nvidia
e       intel


para HA o cluster tengo 2 ó 3 placas de red

Antes de bootear preg qué queremos hacer, como el GRUB
hay un prompt, que dice ok
bootea en tal modo o tal otro o banner
banner es un comando que me dice los dispositivos que ve, la BIOS al momento de prender la maq
por ej tengo 2 hd físicos, que son un solo disco lógico (LV)

openboot= chip para prender el equipo

útil link el de openboot, habla sobre booteo del equipo, parámetros para el banner

host ID es ilegal usarlo
porque es de tal persona, firmo con mi chip , es mi persona


cambiar nombre hostname

si no edito a mano archs, no hay un comando que cambie todo, y hay que editar más de un arch

/etc/hosts, /etc/hostname.elxl0, /etc/inet/hosts, /etc/nodename, /etc/inet/ipnodes

ipnodes es link a hosts

o sys-algo (ver todo lo que hace en pag 1-13 del manual)

# cat > /etc/hostname.elxl0
solaris103

control D para fin de arch

este podria no existir (de acuerdo a la política que use para los nombres)

Esta lista se copia en una lista de solaris.

Antes de hacer cambios de nombre eliminar archs de crash
/var/crash


Capturar info de una maq a otra

snoop, entre sistemas o servicios
su salida es molesta de leer, la redirecciono a un arch

snoop -a da un pitido

snoop -a dhcp

sirve para notar cuando de una maq quiero entrar a otra


existe /etc/services

existe /etc/inittab


Configurar IP en tiempo de booteo

# ls -l /etc/inet/hosts
-r--r--r-- 1 root sys 93 Jan 5 01:43 /etc/inet/hosts
# chmod 640 /etc/inet/hosts
# cat /etc/hosts


Lo vuelvo a cambiar

# chmod 444 /etc/inet/hosts
# ls -l /etc/inet/hosts

asi me lo deja cambiar igual, saliendo del vi con :wq!

Será un bug?
sino es un problema grave de seguridad, archivo de read only, como me deja escribir!!!!!!


# ls -l /etc/inet/hosts
-r--r--r-- 1 root sys 190 Jan 7 11:07 /etc/inet/hosts
# ls -l /etc/inet/ipnodes
lrwxrwxrwx 1 root root 7 Jan 5 01:02 /etc/inet/ipnodes -> ./hosts


Tags:

busca en alexa's blog