
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=p
/devices /devices devfs dev=4480000 1201090164
ctfs /system/contract ctfs dev=44c0001 1201090164
proc /proc proc dev=4500000 1201090164http://docs.sun.com/app/docs/d
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
swap /tmp tmpfs xattr,dev=4580002
swap /var/run tmpfs xattr,dev=4580003 1201090175
-hosts /net autofs nosuid,indirect,ignore,nobrowse,dev=4840
auto_home /home autofs indirect,ignore,nobrowse,dev=4840002
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
- Mood:
tired
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
- Location:me siento mal
- Mood:
sick
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
- Mood:
pensive
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
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
- Mood:
calm
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
*.err;kern.debug;daemon.notice;mail.crit
*.alert;kern.err;daemon.err
*.alert
*.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
user.err
user.alert
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
user.err
user.alert
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
- Mood:
accomplished
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;pr
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/uuc
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/s
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,sola
Audit Review:::Review BSM auditing logs:auths=solaris.audit.read;help=RtAud
Basic Solaris User:::Automatically assigned rights:auths=solaris.profmgr.read,solari
Contract Observer:::Reliably observe any/all contract events:help=RtContractObserver.html
Cron Management:::Manage at and cron jobs:auths=solaris.jobs.*,solaris.smf.ma
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=RtD
Desktop Configuration:::Configure graphical desktop software:auths=solaris.smf.manage.x11,so
Device Management:::Control Access to Removable Media:auths=solaris.device.*,solaris.adm
Device Security:::Manage devices and Volume Manager:auths=solaris.device.*,solaris.s
FTP Management:::Manage the FTP server:help=RtFTPMngmnt.html
File System Management:::Manage, mount, share file systems:auths=solaris.smf.manage.autofs,s
File System Security:::Manage file system security attributes:help=RtFileSysSecurity.html;a
IP Filter Management:::IP Filter Administration:help=RtIPFilterMngmnt.htm
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.htm
Log Management:::Manage log files:help=RtLogMngmnt.html
Mail Management:::Manage sendmail & queues:auths=solaris.smf.manage.sendmail;h
Maintenance and Repair:::Maintain and repair a system:auths=solaris.smf.manage.system-l
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.h
Name Service Security:::Security related name service scripts/commands:help=RtNameServiceSecur
Network Management:::Manage the host and network configuration:auths=solaris.smf.manage.n
Network Security:::Manage network and host security:auths=solaris.smf.manage.ssh,so
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.mana
Primary Administrator:::Can perform all administrative tasks:auths=solaris.*,solaris.grant;help=R
Printer Management:::Manage printers, daemons, spooling:help=RtPrntAdmin.html;auths=sol
Process Management:::Manage current processes and processors:auths=solaris.smf.manage.cron,s
Project Management:::Manage Solaris projects:help=RtProjManagement.html;auth
Rights Delegation:::Delegate ability to assign rights to users and roles:auths=solaris.role.delegate,solari
Service Management:::Manage services:auths=solaris.smf.manage,solari
Service Operator:::Administer services:auths=solaris.smf.manage,solari
Software Installation:::Add application software to the system:help=RtSoftwareInstall.html;auths=s
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,sol
User Security:::Manage passwords, clearances:auths=solaris.role.*,solaris.p
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/bi
Audit Control:suser:cmd:::/etc/security/bsmcon
Audit Control:suser:cmd:::/etc/security/bsmunc
Audit Control:suser:cmd:::/usr/sbin/audit:euid=0
Audit Control:suser:cmd:::/usr/sbin/auditconfi
Audit Control:suser:cmd:::/usr/sbin/auditd:uid=0
Audit Review:suser:cmd:::/usr/sbin/auditreduce:e
Audit Review:suser:cmd:::/usr/sbin/auditstat:e
Audit Review:suser:cmd:::/usr/sbin/praudit:eui
Contract Observer:solaris:cmd:::/usr/bin/ctwatch:
Cron Management:suser:cmd:::/usr/bin/crontab:e
Crypto Management:suser:cmd:::/usr/bin/kmfcfg:e
Crypto Management:suser:cmd:::/usr/sbin/cryptoa
Crypto Management:suser:cmd:::/usr/sfw/bin/CA.p
Crypto Management:suser:cmd:::/usr/sfw/bin/open
DAT Administration:solaris:cmd:::/usr/sbin/d
DHCP Management:suser:cmd:::/usr/lib/inet/dhc
DHCP Management:suser:cmd:::/usr/lib/inet/dhc
DHCP Management:suser:cmd:::/usr/lib/inet/dhc
una parte, es muy largoooooooo
# cat /etc/security/exec_attr|grep Print
Printer Management:suser:cmd:::/usr/bin/cancel:e
Printer Management:suser:cmd:::/usr/bin/lpset:eg
Printer Management:suser:cmd:::/usr/bin/lpstat:e
Printer Management:suser:cmd:::/usr/lib/lp/local/a
Printer Management:suser:cmd:::/usr/lib/lp/local/l
Printer Management:suser:cmd:::/usr/lib/lp/lpsch
Printer Management:suser:cmd:::/usr/sbin/accept:e
Printer Management:suser:cmd:::/usr/sbin/lpadmin:e
Printer Management:suser:cmd:::/usr/sbin/lpfilte
Printer Management:suser:cmd:::/usr/sbin/lpforms:e
Printer Management:suser:cmd:::/usr/sbin/lpmove:e
Printer Management:suser:cmd:::/usr/sbin/lpshut:e
Printer Management:suser:cmd:::/usr/sbin/lpusers:e
Printer Management:suser:cmd:::/usr/ucb/lpq:euid=0
Printer Management:suser:cmd:::/usr/ucb/lprm:eui
#
# 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.r
#
# grep "Basic Solaris User" /etc/security/prof_attr
Basic Solaris User:::Automatically assigned rights:auths=solaris.profmgr.read,solari
#
# 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.ma
#
# usermod -P "Cron Management" alexa
# auths alexa
solaris.jobs.*,solaris.smf.manage.cron,s
#
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,sola
Audit Review:::Review BSM auditing logs:auths=solaris.audit.read;help=RtAud
Basic Solaris User:::Automatically assigned rights:auths=solaris.profmgr.read,solari
Contract Observer:::Reliably observe any/all contract events:help=RtContractObserver.html
Cron Management:::Manage at and cron jobs:auths=solaris.jobs.*,solaris.smf.ma
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=RtD
Desktop Configuration:::Configure graphical desktop software:auths=solaris.smf.manage.x11,so
Device Management:::Control Access to Removable Media:auths=solaris.device.*,solaris.adm
Device Security:::Manage devices and Volume Manager:auths=solaris.device.*,solaris.s
FTP Management:::Manage the FTP server:help=RtFTPMngmnt.html
File System Management:::Manage, mount, share file systems:auths=solaris.smf.manage.autofs,s
File System Security:::Manage file system security attributes:help=RtFileSysSecurity.html;a
IP Filter Management:::IP Filter Administration:help=RtIPFilterMngmnt.htm
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.htm
Log Management:::Manage log files:help=RtLogMngmnt.html
Mail Management:::Manage sendmail & queues:auths=solaris.smf.manage.sendmail;h
Maintenance and Repair:::Maintain and repair a system:auths=solaris.smf.manage.system-l
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.h
Name Service Security:::Security related name service scripts/commands:help=RtNameServiceSecur
Network Management:::Manage the host and network configuration:auths=solaris.smf.manage.n
Network Security:::Manage network and host security:auths=solaris.smf.manage.ssh,so
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.mana
Primary Administrator:::Can perform all administrative tasks:auths=solaris.*,solaris.grant;help=R
Printer Management:::Manage printers, daemons, spooling:help=RtPrntAdmin.html;auths=sol
Process Management:::Manage current processes and processors:auths=solaris.smf.manage.cron,s
Project Management:::Manage Solaris projects:help=RtProjManagement.html;auth
Rights Delegation:::Delegate ability to assign rights to users and roles:auths=solaris.role.delegate,solari
Service Management:::Manage services:auths=solaris.smf.manage,solari
Service Operator:::Administer services:auths=solaris.smf.manage,solari
Shut::Able to shutdown el sistemas, te gusta?
Software Installation:::Add application software to the system:help=RtSoftwareInstall.html;auths=s
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):
- Mood:
predatory
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
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
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/M
- Mood:
productive
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::::::
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
;-)
- Mood:
crushed
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
- Mood:
good
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,MUL
inet 127.0.0.1 netmask ff000000
rtls0: flags=1004843<UP,BROADCAST,RUNNING,MULTI
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
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=4800
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/largefile
/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=4580
/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=4580
/var/run on swap read/write/setuid/devices/xattr/dev=4580
/export/home on /dev/dsk/c1d0s7 read/write/setuid/devices/intr/largefile
/usr/games on solaris3:/export/compartido remote/read only/setuid/devices/soft/xattr/dev=48400
/usr/share on solaris3:/export/compartido remote/read only/setuid/devices/soft/xattr/dev=48400
# 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?boar
- Mood:
accomplished
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
/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
//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
/ on /dev/dsk/c1d0s0 read/write/setuid/devices/intr/largefile
/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=4580
/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=4580
/var/run on swap read/write/setuid/devices/xattr/dev=4580
/export/home on /dev/dsk/c1d0s7 read/write/setuid/devices/intr/largefile
/export/home/ale on solaris:/Documents remote/read/write/setuid/devices/xattr/d
#
# 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!!!!!!!!!!!!!!!!!!!!!!!!!!
$ 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=sola
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
- Mood:
tired
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.tx
sunucLog
# smpatch get
patchpro.backout.directory
patchpro.baseline.directory
patchpro.download.directory
patchpro.install.types
patchpro.patch.source
patchpro.patchset
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@0
/var/sadm/spool/patchpro_dnld_2008.01.10@0
#
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/i
/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=4580
/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=4580
/var/run on swap read/write/setuid/devices/xattr/dev=4580
/export/home on /dev/dsk/c1d0s7 read/write/setuid/devices/intr/largefile
#
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
- Mood:
aggravated
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
patchpro.patchset - current
patchpro.proxy.host
patchpro.proxy.passwd **** ****
patchpro.proxy.port
patchpro.proxy.user - ""
#
Así cambio
# smpatch set patchpro.patch.source=file:/net/sys-04/e
# smpatch get
patchpro.backout.directory
patchpro.baseline.directory
patchpro.download.directory
patchpro.install.types
patchpro.patch.source file:/net/sys-04/export/updates https://getupdates1.sun.com/
patchpro.patchset
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
patchpro.download.directory
patchpro.install.types
patchpro.patch.source - https://getupdates1.sun.com/
patchpro.patchset
patchpro.proxy.host
patchpro.proxy.passwd
patchpro.proxy.port
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
- Mood:
sleepy
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:defau
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:de
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:d
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-log
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-se
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:de
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:d
#
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
- Mood:
curious
Curso Solaris SA-202 en Sun
Florida 1 Piso 11 (arriba de la ofi de Reinosa)
Profesor Román Pupato
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
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,MUL
elxl0: flags=1000843<UP,BROADCAST,RUNNING,MULTI
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
- Mood:
contemplative
