You are on page 1of 34

Curso Linux: Administracin de Sistema y Servicios (parte 4)

IRONTEC - http://www.irontec.com

CURSO LINUX: Administracin de Sistema y Servicios


(parte 4)

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

Samba

Samba

Implementacin GPL de NetBIOS y SMB. Servicios que ofrece Samba:


Servicios de acceso remoto a ficheros e impresoras. Autenticacin y autorizacin. Resolucin de nombres. Anuncio de servicios.

Versin actual: 3

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

Samba

Partes de Samba

Samba consta de dos programas:


smbd nmbd

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

Samba

smbd

Ofrecer acceso remoto a ficheros e impresoras (implementando el protocolo SMB). Autenticar y autorizar usuarios. 2 modos de comparticin de recursos:
Basado en usuarios (Windows NT 2000): Acceso basado en usuario/password en un dominio. Basado en recurso (Windows 3.11 95): Acceso basado en recurso/password.

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

Samba

nmbd

El sistema Unix participa en los mecanismos de resolucin de nombres propios de Windows:


Anuncio en grupo de trabajo. Listado de ordenadores del grupo de trabajo. Anuncio de recursos compartidos.

El sistema Unix aparece en el Entorno de red !

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

Samba

SMB

Protocolo de comunicacin de alto nivel que puede implementarse sobre diversos protocolos:
TCP/IP NetBEUI IPX/SPX

Se implementa habitualmente encima de NetBIOS sobre TCP/IP. Desarrollado inicialmente por IBM como el IBM PC Network SMB Protocol o Core Protocol a principios de los aos 80. Diferentes aadidos de fabricantes (Microsoft).
Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

Samba

SBM (II)

Ejemplo de funcionamiento: un cliente desea acceder a carpeta compartida de un servidor (modo user):
Peticin: Sesin NetBIOS. Respuesta: Sesin NetBIOS (ACK). Peticin: Dialecto SMB (versiones Samba que soporta el cliente). Respuesta: Dialecto SMB. Peticin: Inicio de sesin, envo de usuario/dominio/password. Respuesta: Inicio de sesin. Comprueba autenticacin y luego autorizacin. Peticin: Conexin a un recurso concreto. (\\pc01\carpeta)

Respuesta: Conexin a un recurso concreto.

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

Samba

Instalacin en Debian

Instalar el paquete Samba:


#>aptgetinstallsamba

Nos pregunta si queremos copiar todos los usuarios existentes de sistema a cuentas Samba.
Ojo, no atiende a futuros cambios de password ni adicin/eliminacin/modificacin de usuarios !

Datos en /etc/samba/ y /var/lib/samba/.

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

Samba

Configuracin Samba

Fichero /etc/samba/sbm.conf

[global]
Parmetros blogales y parmetros por defecto en el resto de las secciones.

[homes]
Define automticamente un recurso de red por cada usuario conocido por Samba. Este recurso, por defecto, est asociado al directorio de conexin de cada usuario en el ordenador en el que Samba est instalado.

[printers]
Define un recurso compartido por cada nombre de impresora conocida por Samba.

[otro_recurso_1] [otro_recurso_2]

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

Samba

[global]

10

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

Samba

[nombre_recurso]

11

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

Samba

Algunos comandos

testparm: Comprueba la configuracin del smb.conf y nos avisa de errores y avisos. smbpasswd: Administracin de usuarios Samba:
Creacindeunusuario: #>smbpasswdausuario Modificacindepasworddeunusuario: #>smbpasswdusuario Ms:;) #>smbpasswdhelp

smbclient: Cliente Samba en consola:


#>smbclientLnetbios_name #>smbclientIIP(paraforzarelservidor) #>smbclientUusuarioLnetbios_name

12

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

Samba

Montar un recurso Samba

Requiere el paquete smbfs:


#>aptgetinstallsmbfs

Requiere cargar el mdulo smbfs:


#>modprobesmbfs

Sintaxis: O en el /etc/fstab:

#>mounttsmbfsousername=XX,passwd=XX,workgroup=XX //ip_servidor/nombre_recurso/punto_montaje

//ip_servidor/nombre_recurso/punto_montajesmbfsusername=XX,passwd=XX

13

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

OpenLDAP

OpenLDAP

Implementacin libre del protocolo LDAP (Lightweight Directory Access Protocol). Plataformas soportadas:
Linux,BSD,AIX,HPUX,MacOSX,Solaris,Microsoft Windows(2000,XP)

14

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

OpenLDAP

Componentes de OpenLDAP

slapd: Demonio LDAP que atiende a las consultas. slurpd: Demonio de replicacin. Utilidades y herramientas (lnea de comandos).

15

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

OpenLDAP

Caractersticas

Versin actual: 2.X


Mltiples bases de datos Mltiples backends de almacenamiento Soporte LDAP v3 IPv6 Simple Authentication and Security Layer (SASL)

16

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

OpenLDAP

Instalacin en Debian Sarge


#>aptgetinstallslapd

Debconf nos pregunta:

Dominio raz:
dominio.org>dc=dominio,dc=org

Password de administrador:
Passworddelusuariocd=admin,dc=dominio,dc=org

Backend de almacenamiento:
BDB

Iniciar/parar/reiniciar el servicio:
#>/etc/init.d/slapdstart/stop/restart

Reconfigurar slapd:
#>dpkgreconfigureslapd

Borramos la base de datos y la configuracin !


17
Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

OpenLDAP

Fichero /etc/ldap/slapd.conf
#NopermitimosprotocoloLDAPv2: #allowbind_v2 #Esquemasincluidos: include/etc/ldap/schema/core.schema include/etc/ldap/schema/cosine.schema include/etc/ldap/schema/nis.schema include/etc/ldap/schema/inetorgperson.schema [...]Datosnecesarios.Valorespordefecto.

18

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

OpenLDAP

Fichero /etc/ldap/slapd.conf (II)


#Definicindeunabasededatos(comienzacondatabase): databasebdb suffix"dc=dominio,dc=org" directory"/var/lib/ldap" #Usuarioadministrador:OJO!Debiannolousa,empleaACL'sen sulugar: #rootdn"cn=root,dc=dominio,dc=org" #Elpasswordlopodemosponerenclaroocifrado(usamosel #comandoslappasswdparagenerarunpasswordcifradoylo #copiamosaqu: #rootpw{SSHA}Ok++H+ZzR4UYkHxbtoL9ZRCcPvtxcJuO

Recordad que en Debian por defecto NO se usa la cuenta rootdn sino ACL's (ver siguiente transparencia)

19

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

OpenLDAP

Fichero /etc/ldap/slapd.conf (III)


#ACL's:elusuariodefinidoadmintienetodoslos #permisosgraciasaACL's,perosiguesiendounaentradadentro #delLDAP: #Cadausuariopuedecambiarsupassword, #todospuedenautenticarse, #adminpuedecambiarcadapassword: accesstoattrs=userPassword bydn="cn=admin,dc=dominio,dc=org"write byanonymousauth byselfwrite by*none #Permitimoslecturadetodoelrbolaussuariosannimos #(necesarioparapermitirmecanismosdeautenticacin): accesstodn.base=""by*read #admintieneaccesodeescrituraatodo: accessto* bydn="cn=admin,dc=aliax,dc=net"write by*read
20
Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

OpenLDAP

ACL's

Se definen en el database en /etc/ldap/slapd.conf La primera ACL que coincida es la que se aplica.

Primero las ACL's ms restrictivas !


http://www.openldap.org/doc/admin22/slapdconfig.html#Access%20Control http://es.tldp.org/COMO-INSFLUG/COMOs/LDAP-Linux-Como/LDAP-Linux-Como-3.html#ss3.5

Explicacin detallada y ejemplos:


21

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

OpenLDAP

Esquemas

Se guardan en /etc/ldap/schema Para habilitar cada esquema:

/etc/ldap/slapd.conf:
include/etc/ldap/schema/core.schema include/etc/ldap/schema/cosine.schema ...

Algunas aplicaciones proveen de su propio esquema.

Ejemplo: Samba ofrece su samba.schema en el paquete samba-doc:


/usr/share/doc/sambadoc/examples/LDAP/samba.schema.gz

Descomprimirlocongzipdsamba.schema.gz. Copiarloa/etc/ldap/schema Habilitarloen/etc/ldap/slapd.conf:

include/etc/ldap/schema/samba.schema
22
Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

OpenLDAP

phpLDAPadmin

23

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

OpenLDAP

phpLDAPadmin (II)

Instalacin en Debian:
#>aptgetinstallphpldapadmin

Crea un Alias en /etc/apache2/conf.d:


Alias/phpldapadmin/usr/share/phpldapadmin

Acceso web:

URL:
http://IP/phpldapadmin

Usuario:
cn=admin,dc=dominio,dc=org

24

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

PowerDNS

Servidor DNS PowerDNS


Servidor DNS bajo GPL. Plataformas *nix y Windows. Distintos backends para almacenar las zonas:
bind,db2,gmysql,gpsgl,goracle,gsqlite,ldap,odbc, opendbx,pipe

Caractersticas:
Transferencia de zonas Cach Notificacin de cambios Modo chroot Monitorizacin va web

25

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

PowerDNS

Instalacin en Debian

Vamos a usar el backend LDAP:


#>aptgetinstallpdnsserverpdnsbackendldap

Se crea el fichero /etc/ldap/schema/dnsdomain2.schema.


Clase dNSDomain2: Incluye atributos para registros SRV, A6Record, PTR...

Lo habilitamos en slapd.conf.
/etc/init.d/pdnsstart|stop|restart|monitor

Manejar el servicio:

26

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

PowerDNS

/etc/powerdns/pdns.conf
#Opcionesinteresantes(elrestopordefecto):
#launch:tipodebackend. launch=ldap ldaphost=127.0.0.1:389 ldapbasedn=ou=hosts,dc=dominio,dc=org #Tipodebsqueda(msadelante): ldapmethod=strict #disableaxfr:Deshabilita(ono)lastransferenciasdezonas, #esdecir,elhacerun"hostldominio". disableaxfr=no #allowaxfrips:Sidisableaxfr=yessepermitetransferenciade zonasaestasIP'sorangos: #allowaxfrips= #cachettl:SegundosdecacheoenelPacketCache: #http://doc.powerdns.com/performancesettings.html#PACKETCACHE cachettl=20

27

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

PowerDNS

/etc/powerdns/pdns.conf (II)
#recursor:IPdelservidorDNSexterno: recursor=80.58.0.33 #allowrecursion:IP'sorangos(separadosporcomas)puedenpedir #recursin,esdecir,quePowerDNSconsultealDNSexterno #(parmetro"recursor"): allowrecursion=127.0.0.1,192.168.1.1/24

28

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

PowerDNS

ldap-method

tree
La opcin ms rpida para encontrar las consultas. Se representa en LDAP el rbol completo del dominio.

dc=dominio,dc=org +ou=hosts(ldapbasedn=ou=hosts,dc=dominio,dc=org) +dc=org +dc=dominio(registrosSOA,NS,MX...) +dc=www +dc=ftp

29

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

PowerDNS

ldap-method (II)

simple
No se necesita orden jerrquico (es opcional). Se utiliza el atributo associatedDomain:

dn:dc=dominio.org,ou=hosts,dc=dominio,dc=org associatedDomain:dominio.org dc:dominio.org nSRecord:ibc objectClass:dcObject objectClass:dNSDomain2 objectClass:domainRelatedObject objectClass:top sOARecord:ibc.dominio.orgibc@dominio.org218013601864017201 dn:dc=ibc,dc=dominio.org,ou=hosts,dc=dominio,dc=org associatedDomain:ibc.dominio.org dc:ibc aRecord:90.90.90.90 hInfoRecord:KubuntuEdgy objectClass:dcObject objectClass:dNSDomain2 objectClass:domainRelatedObject objectClass:top Iaki Baz Castillo <ibc@irontec.com>

30

Curso Linux: Administracin de Sistema y Servicios (parte 4)

PowerDNS

ldap-method (III)

strict
Igual que simple. Pero aade automticamente resolucin inversa.

#>hosttptrIP

31

Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

Anexo I

Paquetes tiles para Debian Sarge

modconf:
Men grfico para cargar/descargar mdulos. Incluye los mdulos en /etc/modules.

Se cargarn en el prximo arranque !

rcconf:

Men grfico para activar/desactivar servicios en el arranque.

vim:
Vi mejorado (ms sencillo de usar). /etc/vim/vimrc:

syntaxon(activarcolores) setbackground=dark(consolafondooscuro) "setautoindent(noactivar,daproblemasconelratn) "setlinebreak(nocortarpalabrasalpasardelnea) setignorecase(enbsquedasnoimportamayscula/mnuscula)


32
Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

Anexo II

Recuperar Grub o password de root


Arrancar con liveCD (Knopix, (K)Ubuntu...). Montar manualmente la particin / del disco duro:
#>mounttext3/dev/hdaX/mnt/hdaX

Ojo! /mnt/hdaX debe existir (sino se crea antes)

Nos hacemos root en el Linux del disco duro (hdaX):


#>chroot/mnt/hdaX

Ahora los comandos y configuracin son las del disco!

Recuperar Grub:
Modificar (si hace falta) /boot/grub/menu.lst Escribir en el MBR del disco duro:

#>grubinstall/dev/hda

Ojo, no se pone la particin hdaX sino el disco primario hda!

33

Reiniciar y ya est ;)
Iaki Baz Castillo <ibc@irontec.com>

Curso Linux: Administracin de Sistema y Servicios (parte 4)

Anexo II

Recuperar Grub o password de root (II)

Cambiar password de root (es imposible averiguarlo):


#>passwd

Al ser root no nos pedir el password anterior.

Reiniciar y ya est ;)

34

Iaki Baz Castillo <ibc@irontec.com>

You might also like