Transcript
NFS
Por: KTC
¿Qué es NFS?
NFS (Network File System), desarrollado porSUN Microsystems en 1984. Permite en unared que un equipo Unix pueda montar ytrabajar con un sistema de archivos de otroequipo de la red como si fuera local.Protocolo de capa de aplicación.
Versiones
La versión 2 de NFS (NFSv2), es la más antigua y está ampliamente
soportada por muchos sistemas operativos. RFC 1094.
La versión 3 de NFS (NFSv3) tiene más características, incluyendo
manejo de archivos de tamaño variable y mejores facilidades de
informes de errores, pero no es completamente compatible con los
clientes NFSv2. RFC 1813.
NFS versión 4 (NFSv4) incluye seguridad Kerberos, trabaja con
cortafuegos, permite ACLs y utiliza operaciones con descripción
del estado. RFC 3530.
Versiones
Todas las versiones de NFS pueden utilizar el Protocolo de
Control de Transmisiones (TCP) ejecutándose sobre una
red IP. En el caso de NFSv4, éste lo requiere.
NFSv2 y NFSv3 pueden utilizar el Protocolo de datagrama
de usuarios (UDP) sobre una red IP para proporcionar
conexiones de red sin supervisión (stateless) entre el
cliente y el servidor.
Versiones
NFSv2 o NFSv3 con UDP, se minimiza el tráfico de la red, ya que el
servidor NFS envía un cookie al cliente después que este tiene
acceso al volumen compartido. Esta cookie es un valor aleatorio
guardado en el lado del servidor y es pasado junto con las
peticiones RPC desde el cliente.
El servidor NFS puede ser reiniciado sin afectar a los clientes y las
cookies permanecen intactas. Sin embargo, si el servidor se cae,
los clientes UDP continúan saturando la red con peticiones para el
servidor. Por esta razón, TCP es el protocolo preferido cuando se
conecte a un servidor NFS.
Cuando se autentifica utilizando NFSv4, se crea una
conexión atenta y, de forma opcional, está disponible la
autenticación de usuarios y grupos con Kerberos.
NFSv4 no tiene interacción con portmapper, rpc.mountd,
rpc.lockd y rpc.statd, pues estos han sido incorporados
en el kernel. NFSv4 escucha en el puerto TCP 2049.
La única vez que NFS lleva a cabo la autentificación es
cuando el cliente intenta montar un recurso compartido
NFS. Para limitar el acceso al servicio NFS, se utilizan
envolturas TCP (TCP wrappers). Los TCP wrappers leen los
archivos /etc/hosts.allow y /etc/hosts.deny para
determinar si a un cliente particular o red tiene acceso o
no al servicio NFS.
Después de que al cliente se le permite acceso gracias a
un TCP wrapper, el servidor NFS recurre a su archivo de
configuración, /etc/exports, para determinar si el cliente
tiene suficientes privilegios para acceder a los sistemas
de archivos exportados. Una vez otorgado el acceso,
todas las operaciones de archivos y de directorios están
disponibles para el usuario.
Opciones /etc/exports
ro: solo lectura
rw: lectura y escritura
no_root_squash: si se habilita el cliente tendrá los mismos privilegios que el servidor
no_subtree_check: si se exporta todo un volumen si se deshabilita las transferencias serán
más rápidas
sync: sincronización asíncrona por defecto.
Los servicios RPC bajo Linux son controlados por el servicio portmap.
Para compartir o montar sistemas de archivos NFS, los siguientes
servicios funcionan juntos:
nfs — Inicia los procesos RPC para servir peticiones para los sistemas de
archivos compartidos NFS.
nfslock — Servicio opcional que inicia los procesos RPC adecuados parapermitir que clientes NFS bloqueen archivos en el servidor.
portmap — El servicio RPC para Linux; responde a las peticiones para servicios
RPC y configura las conexiones al servicio RPC solicitado. No se utiliza con
NFSv4.
Procesos RPC
rpc.mountd — recibe las peticiones de montaje desde clientes NFS y
verifica que el sistema de archivos solicitado esté actualmente
exportado. Inicia automáticamente por el servicio nfs. No se utiliza con
NFSv4.
rpc.nfsd — servidor NFS. Trabaja con el kernel Linux para satisfacer las
demandas dinámicas de clientes NFS, tales como proporcionar hilos del
servidor cada vez que se conecta un cliente NFS. Servicio nfs.
rpc.lockd — (opcional) permite a los clientes NFS bloquear archivos en el
servidor. Esto corresponde al servicio nfslock. No se utiliza con NFSv4.
Procesos RPC
rpc.statd —implementa el protocolo RPC Network Status Monitor (NSM) el cual
notifica a los clientes NFS cuando un servidor NFS es reiniciado luego de haber
sido apagado abruptamente. Este proceso es iniciado automáticamente por el
servicio nfslock y no requiere configuración por parte del usuario. No se utiliza
con NFSv4.
rpc.rquotad — Proporciona información de cuotas de usuario para los usuarios
remotos. Este proceso se inicia automáticamente por el servicio nfs y no requiereconfiguración por parte del usuario.
rpc.gssd — Este proceso proporciona al cliente los mecanismos de transporte
para el proceso de autenticación (Kerberos versión 5). Se requiere este servicio
para su uso con NFSv4.
Procesos RPC
rpc.idmapd — Este proceso proporciona al cliente y servidor NFSv4
llamadas ascendentes (upcalls) que hacen corresponder los
nombres NFSv4 (cadenas en la forma usuario@dominio) y los UIDs y
GIDs locales. Para que idmapd funcione con NFSv4, el
/etc/idmapd.conf debe estar configurado. Se requiere para NFSv4.
rpc.svcgssd — Este proceso proporciona al servidor los mecanismos
de transporte para el proceso de autenticación (Kerberos versión
5) con NFSv4. Se requiere para NFSv4.
RPC
NFS
Procedimientos V2
NULL: no hace nada, pero sirve para hacer ping al server y medir tiempos.
CREATE: crea un nuevo archivo.
LOOKUP: busca un fichero en el directorio actual y si lo encuentra, devuelve un descriptor aese fichero más información sobre los atributos del fichero.
READ y WRITE: primitivas básicas para acceder el fichero.
RENAME: renombra un fichero.
REMOVE: borra un fichero.
MKDIR y RMDIR: creación/borrado de subdirectorios.
READDIR: para leer la lista de directorios.
GETATTR y SETATTR: devuelve conjuntos de atributos de ficheros.
Procedimientos V2
LINK: crea un archivo, el cual es un enlace a un archivo en un directorio, especificado.
SYMLINK y READLINK: para la creación y lectura, respectivamente, de enlaces simbólicos
(en un "string") a un archivo en un directorio.
STATFS: devuelve información del sistema de archivos.
ROOT, para ir a la raíz (obsoleta en la versión 2).
WRITECACHE: reservado para un uso futuro.
Procedimientos V3
En la versión 3 del protocolo se eliminan los comandos se STATFS, ROOT y WRITECACHE; y seagregaron los siguientes:
ACCESS: Para verificar permisos de acceso.
MKNOD: Crea un dispositivo especial.
READDIRPLUS: una versión mejorada de READDIR.
FSSTAT: devuelve información del sistema de archivos en forma dinámica.
FSINFO: devuelve información del sistema de archivos en forma estática.
PATHCONF: Recupera información POSIX.
COMMIT: Enviar datos de caché sobre un servidor un sistema de almacenamientoestable.
Samba
¿Qué es?
Samba es una suite de aplicaciones Unix que habla el protocolo
SMB (Server Message Block). Muchos sistemas operativos, incluidos
Windows y OS/2, usan SMB para operaciones de red
cliente−servidor.
Mediante el soporte de este protocolo, Samba permite a los
servidores Unix entrar en acción, comunicando con el mismo
protocolo de red que los productos de Microsoft Windows. De este
modo, una máquina Unix con Samba puede enmascararse como
servidor en tu red Microsoft.
Samba es la idea de Andrew Tridgell. El proyecto nació
en 1991 cuando Andrew creó un programa servidor de
ficheros para su red local, que soportaba un raro
protocolo DEC de Digital Pathworks.
Samba implica a un par de demonios que proporcionan
recursos compartidos a clientes SMB sobre la red (las
comparticiones son denominadas a veces también
como servicios).
Demonios
Smbd : Un demonio que permite compartición de archivos e impresorassobre una red SMB y proporciona, Autentificación y autorización deacceso para clientes SMB. Los puertos predeterminados en los cuales elservidor escucha por tráfico SMB, son los puertos TCP 139 y 445.
Nmbd : Entiende y responde a las peticiones de servicio de nombresNetBIOS tales como aquellas producidas por SMB/CIFS en sistemasbasados en Windows. Estos sistemas incluyen clientes 95/98/ME, WindowsNT, Windows 2000, Windows XP y LanManager. También participa en losprotocolos de navegación que forman la vista Entorno de red deWindows. El puerto predeterminado en el que el servidor escucha portráfico NMB es el puerto UDP 137. Es controlado por el servicio smb.
Demonios
Winbindd: Resuelve la información de usuarios y grupos en un
servidor Windows NT y lo hace entendible para las plataformas
UNIX. Permite que usuarios del dominio Windows NT aparezcan y
operen como usuarios UNIX en un máquina UNIX. Se controla
separadamente de smb. El servicio winbind controla al demonio
winbindd y no requiere que el servicio smb arranque para poder
funcionar.
Samba V3
La habilidad para unirse a un dominio Active Directory a través de LDAP y Kerberos
Soporte incorporado de Unicode para la internacionalización
Soporte para las conexiones de clientes Microsoft Windows XP Professional a servidores
Samba sin la necesidad de hacer hacking del registro local
Dos documentos desarrollados por el equipo de desarrollo Samba.org el cual incluye un
manual de referencia de más de 400 páginas y un manual de implementación e
integración de más de 300 páginas.
Características
Lo que Samba puede hacer:
Sirve árboles de directorios e impresoras a clientes Linux, UNIX y Windows
Asiste en la navegación de la red (con o sin NetBIOS)
Autentifica las conexiones a dominios Windows
Proporciona resolución de nombres de Windows Internet Name Service (WINS)
Actúa como un Controlador de Dominio Primario (Primary Domain Controller, PDC) estilo Windows NT®
Actúa como un Backup Domain Controller (BDC) para un PDC basado en Samba
Actúa como un miembro servidor de dominio de Active Directory
Une un Windows NT/2000/2003 PDC
Características
Lo que Samba no puede hacer:
Actúa como un BDC para un Windows PDC (y viceversa)
Actúa como un controlador de dominio de Active Directory
Archivo /etc/samba/smb.conf
Secciones
La sección principal es la sección [global] que nos permite
configurar los parámetros generales del servicio.
La sección [homes] nos permitirá compartir las carpetas home de
cada usuario, para que cada usuario pueda acceder a su carpeta
home por la red.
La sección [printers] nos permitirá compartir impresoras
Niveles de Seguridad
Seguridad a nivel de recursos (Share): contraseña
Seguridad a nivel de usuario (user): determinados usuarios
Seguridad a nivel de servidor (server): el servidor Samba usa
un servidor SMB para validad usuarios y contraseñas.
Seguridad a nivel de dominio (domain): Samba se convierte
en un miembro de un dominio Windows y se valida primero al
usuario en el dominio para darle acceso.
Referencias
http://www.cs.cf.ac.uk/Dave/C/node33.html
http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/ch-tcpwrappers.html
http://www.read.cs.ucla.edu/111/2007fall/notes/lec17
http://www.dbms-notes.com/2010/10/network-file-system-nfs.html
http://es.wikipedia.org/wiki/Network_File_System
http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/s1-nfs-server-export.html
http://es.tldp.org/Manuales-LuCAS/USANDO-SAMBA/usando-samba.pdf
http://nfs.sourceforge.net/nfs-howto/ar01s03.html
top related