El Servidor Samba (Cap20)

Embed Size (px)

Citation preview

Captulo 20: El Servidor SAMBA

Captulo 20:

El Servidor SAMBA Introduccin. Configurando un Servidor Samba. Conexin a un recurso compartido Samba. Resumen de programas de Samba. Recursos Adicionales.

603

Sistema Operativo Linux

604

Captulo 20: El Servidor SAMBA

El Servidor SAMBA20.1. IntroduccinSamba es un servicio del sistema Linux Fedora que usa el protocolo SMB (Server Message Block) para compartir archivos e impresoras a travs de una conexin de red con sistemas Windows y Linux. Este protocolo tambin es referenciado como Common Internet File System (CIFS). Para mayor informacin sobre este protocolo ubique en Internet el sitio: http://www. ubiqx.org/cifs/. Samba tambin implementa el protocolo NetBIOS, de los sistemas Windows tradicionales.

20.1.1. Cundo usar Samba?Se utilizar el servicio Samba cuando se quiera interactuar con recursos distribuidos en la red que correspondan a las plataformas de sistemas operativos Windows y Linux. Si slo desea compartir recursos informticos entre sistemas Linux no use Samba, use NFS (Network File System).

20.1.2. Software de SambaEl servicio de Samba requiere del siguiente software: samba. samba-client. samba-common.

Para averiguar si cuenta con este software instalado utilice la herramienta rpm:[haragons@fedora3 ~]$ rpm -qa samba*

samba-client-3.0.8-0.pre1.3 samba-3.0.8-0.pre1.3 samba-common-3.0.8-0.pre1.3 Puede apreciar que la versin de Samba es 3.0.8-0.pre1.3 en Linux Fedora Core 3.

605

Sistema Operativo Linux

20.2. Configurando un Servidor SambaEl archivo de configuracin por defecto es /etc/samba/smb.conf y permite a los usuarios de Linux compartir sus directorios y tambin imprimir en una impresora de Linux desde una mquina de Windows.

20.2.1. Configuracin GrficaPara configurar el servicio Samba en un entorno grfico utilice la Herramienta de configuracin del servidor Samba (/usr/bin/system-config-samba). Esta herramienta administra los recursos compartidos Samba, los usuarios y las configuraciones bsicas. Los archivos de configuracin se encuentran en el directorio /etc/samba/. Cualquier cambio a estos archivos en forma manual sern preservados. Para usar esta aplicacin debe correr el Sistema X Window, tener privilegios de usuario root, tener el paquete ya instalado. Para iniciar esta herramienta desde el escritorio siga cualquiera de los siguientes pasos: Clic en el botn Acciones (en el Panel) Ejecutar un programa ingresar el comando system-config-samba (Ver Figura 20.1).

Figura 20.1. Herramienta de configuracin del servidor Samba. Clic derecho en el escritorio Abrir un terminal En el prompt del terminal XTerm o GNOME ingresar el comando: system-config-samba. Clic en el botn Aplicaciones (en el Panel) Configuracin del sistema Configuracin de servidores Samba.

606

Captulo 20: El Servidor SAMBA La ejecucin de system-config-samba, presenta la siguiente ventana:

Figura 20.2. Configuracin del servidor Samba. Nota: La Herramienta de Configuracin del Servidor Samba no despliega las impresoras compartidas ni permite que los usuarios vean su propio directorio hogar en el servidor Samba.

20.2.1.1. Configurando el servidorEl primer paso en la configuracin de un servidor Samba es configurar la ficha Bsico y unas cuantas opciones de seguridad. Entonces, despus de iniciar la aplicacin, seleccione: Preferencias Configuracin del servidor.

Figura 20.3. Ficha Bsico. 607

Sistema Operativo Linux En la ficha Bsico, se especfica el grupo de trabajo que por defecto es WORKGROUP y una breve descripcin del mismo. En la figura anterior se aprecia la siguiente configuracin: Grupo de trabajo: lab02. Descripcin: Servidor Samba HHAS. Seguidamente al hacer clic en la ficha Seguridad, se aprecia la siguiente figura:

Figura 20.4. Ficha Seguridad. A continuacin se presentan en negrita los valores ingresados: Modo de Autenticacin: Usuario. Servidor de Autenticacin. Ambito de Kerberos: Encriptar contraseas: Si. Cuenta Invitado: hharagons. La ficha de seguridad contiene las siguientes opciones: Modo de autenticacin. Es una opcin de seguridad. Seleccione uno de los siguientes tipos de autenticacin: o ADS: El servidor Samba interacta con un sistema con Servicio de Directorio Activo.

608

Captulo 20: El Servidor SAMBA o Dominio: El servidor Samba interacta con un Controlador de Dominio Primario o de Respaldo para verificar el usuario. El servidor pasa la cuenta de usuario y la contrasea al controlador y espera por un retorno. Especifique el nombre NetBIOS de los controladores en el campo Servidor de Autenticacin. La opcin Encriptar contrasea debe ser fijada a Si, este campo es seleccionado. o Servidor: El servidor Samba trata de verificar la combinacin cuenta de usuario y contrasea pasndola a otro servidor Samba. Si no puede, el servidor trata de verificar usando el modo de autenticacin Usuario. Especifique el nombre NetBIOS del otro servidor Samba en el campo Servidor de Autenticacin. o Recurso Compartido: Los usuarios Samba no deben ingresar la combinacin cuenta de usuario y contrasea en un servidor Samba. A ellos no se les pedir la cuenta de usuario y contrasea hasta que se conecten a un directorio compartido de un servidor Samba. Usuario: Es la opcin por defecto. Los usuarios de Samba deben proveer una cuenta de usuario y contrasea para conectarse a un servidor Samba. Seleccione esta opcin si quiere trabajar con la cuenta de usuario de Windows. Mayor informacin en la seccin 20.2.1.2.

o

Encriptar contraseas Por defecto est fijado a Si (Yes). Esta opcin debe ser habilitada si los clientes se conectan desde Windows 98, Windows NT 4.0 (con Service Pack 3), y versiones recientes de Microsoft Windows. Las contraseas son transferidas entre el servidor y el cliente en un formato encriptado en vez de palabras en modo texto que pueden ser interceptadas. Esto corresponde a la opcin contraseas encriptadas. Vea la seccin 20.2.3 para mayor informacin sobre contraseas encriptadas de Samba.

Cuenta Invitado Cuando los usuarios y los usuarios invitados se conectan al servidor Samba, deben ser mapeados como un usuario vlido en el servidor. Seleccione uno de los usuarios que existen en el sistema para ser un usuario invitado Samba. Cuando un usuario invitado se conecta a un servidor Samba, ellos tienen los mismos privilegios como cualquier otro usuario. Esto corresponde a la opcin cuenta invitado.

Despus de hacer clic en el botn Aceptar, los cambios se escriben en el archivo de configuracin y debe restablecerse el demonio smb para que los cambios sean efectivos inmediatamente.

609

Sistema Operativo Linux

20.2.1.2. Administrando usuarios SambaLa herramienta de configuracin del servidor Samba requiere de cuentas de usuario que ya existan en el sistema Linux, antes de que sean consideradas como cuentas del servidor Samba.

Figura 20.5. Administrando usuarios Samba. Para aadir un usuario Samba, seleccione Preferencias Usuarios de Samba desde el men contextual, y clic en el botn Aadir usuario. En la ventana Crear un Nuevo Usuario Samba seleccione un usuario Linux desde la lista de usuarios que existen en el sistema local.

Figura 20.6. Aadiendo un usuario Samba. Si el usuario tiene una cuenta diferente en una mquina de Windows y desea conectarse al servidor Samba, especifique la cuenta de Windows en el campo de Nombre de Usuario Windows. El Modo de Autenticacin en la ficha Seguridad de Configuracin del Servidor debe fijarse a Usuario para esta opcin de trabajo.

610

Captulo 20: El Servidor SAMBA Tambin configure una Contrasea Samba para el usuario Samba y confrmela. An si seleccion usar una contrasea encriptada se recomienda que las contraseas Samba para todos los usuarios sean diferentes a las contraseas de su sistema Linux Fedora. Para editar a un usuario existente, seleccione el usuario de la lista, y haga clic en Editar Usuario. Para eliminar un usuario Samba existente, seleccinelo y haga clic en el botn Eliminar Usuario.

Figura 20.7. Modificando un usuario Samba. Nota: Eliminar un usuario Samba no significa haberlo eliminado del sistema Linux. Los usuarios sern modificados inmediatamente despus de hacer un clic en el botn Aceptar.

20.2.1.3. Aadiendo un recurso compartidoPara aadir un recurso compartido, hacer un clic en el botn Aadir en la ventana de Configuracin del Servidor Samba. Se presentan dos fichas. En la ficha Bsico se configura las siguientes opciones: Directorio: El directorio a compartirse va Samba. El directorio debe existir. Nombre del recurso compartido: Es el nombre del recurso compartido. Descripcin: Una breve descripcin del recurso compartido. Permisos bsicos: Puede configurarse para que los usuarios slo lean archivos o lean y escriban en el directorio compartido. Por defecto est configurado el botn radio: Slo Lectura.

611

Sistema Operativo Linux En la siguiente figura se puede apreciar estos campos:

Figura 20.8. Aadiendo un recurso compartido. A continuacin se presenta la modificacin de un recurso compartido:

Figura 20.9. Aadiendo un recurso compartido. Aprecie que el nombre del recurso compartido no tiene porque ser el mismo que el nombre del directorio a compartirse. Este recurso compartido slo ser usado por el usuario hharagons quien tiene permisos de Lectura/Escritura. 612

Captulo 20: El Servidor SAMBA En la ficha Acceso, seleccionar si se permitir el acceso a todos los usuarios Samba. Si se selecciona permitir el acceso a determinados usuarios, seleccinelos de la lista de usuarios disponibles Samba.

Figura 20.10. Eligiendo un usuario especfico. El recurso compartido es aadido inmediatamente despus de hacer clic en el botn Aceptar.

20.2.2. Configuracin de las lneas de ComandoEl servicio Samba usa el archivo /etc/samba/smb.conf como su archivo de configuracin. Si cambia este archivo de configuracin, los cambios no tomarn efecto hasta restablecer el demonio Samba con el comando: service smb restart. A continuacin se muestra el archivo de configuracin de Samba: smb.conf antes de realizar alguna modificacin: # This is the main Samba configuration file. You should read the # smb.conf(5) manual page in order to understand the options listed # here. Samba has a huge number of configurable options (perhaps too # many!) most of which are not shown in this example # # Any line which starts with a ; (semi-colon) or a # (hash) # is a comment and is ignored. In this example we will use a # # for commentry and a ; for parts of the config file that you # may wish to enable 613

Sistema Operativo Linux # # NOTE: Whenever you modify this file you should run the command testparm # to check that you have not made any basic syntactic errors. # #======================= Global Settings ============================ [global] # workgroup = NT-Domain-Name or Workgroup-Name workgroup = MYGROUP # server string is the equivalent of the NT Description field server string = Samba Server # This option is important for security. It allows you to restrict # connections to machines which are on your local network. The # following example restricts access to two C class networks and # the loopback interface. For more examples of the syntax see # the smb.conf man page ; hosts allow = 192.168.1. 192.168.2. 127. # if you want to automatically load your printer list rather # than setting them up individually then youll need this printcap name = /etc/printcap load printers = yes # It should not be necessary to spell out the print system type unless # yours is non-standard. Currently supported print systems include: # bsd, sysv, plp, lprng, aix, hpux, qnx ; printing = cups # This option tells cups that the data has already been rasterized cups options = raw # Uncomment this if you want a guest account, you must add this to /etc/passwd # otherwise the user nobody is used ; guest account = pcguest # this tells Samba to use a separate log file for each machine # that connects log file = /var/log/samba/%m.log # all log information in one file # log file = /var/log/samba/smbd.log

614

Captulo 20: El Servidor SAMBA # Put a capping on the size of the log files (in Kb). max log size = 50 # Security mode. Most people will want user level security. See # security_level.txt for details. security = user # Use password server option only with security = server ; password server = # Password Level allows matching of _n_ characters of the password for # all combinations of upper and lower case. ; password level = 8 ; username level = 8 # You may wish to use password encryption. Please read # ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba documentation. # Do not enable this option unless you have read those documents ; encrypt passwords = yes ; smb passwd file = /etc/samba/smbpasswd # The following are needed to allow password changing from Windows to # update the Linux system password also. # NOTE: Use these with encrypt passwords and smb passwd file above. # NOTE2: You do NOT need these to allow workstations to change only # the encrypted SMB passwords. They allow the Unix password # to be kept in sync with the SMB password. ; unix password sync = Yes ; passwd program = /usr/bin/passwd %u ; passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *passwd:*all*authentication*tokens*updated*successfully* # Unix users can map to different SMB User names ; username map = /etc/samba/smbusers # Using the following line enables you to customise your configuration # on a per machine basis. The %m gets replaced with the netbios name # of the machine that is connecting ; include = /etc/samba/smb.conf.%m # Most people will find that this option gives better performance. # See speed.txt and the manual pages for details socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 615

Sistema Operativo Linux # Configure Samba to use multiple interfaces # If you have multiple network interfaces then you must list them # here. See the man page for details. ; interfaces = 192.168.12.2/24 192.168.13.2/24 # Configure remote browse list synchronisation here # request announcement to, or browse list sync from: # a specific host or from / to a whole subnet (see below) ; remote browse sync = 192.168.3.25 192.168.5.255 # Cause this host to announce itself to local subnets here ; remote announce = 192.168.1.255 192.168.2.44 # Browser Control Options: # set local master to no if you dont want Samba to become a master # browser on your network. Otherwise the normal election rules apply ; local master = no # OS Level determines the precedence of this server in master browser # elections. The default value should be reasonable ; os level = 33 # Domain Master specifies Samba to be the Domain Master Browser. This # allows Samba to collate browse lists between subnets. Dont use this # if you already have a Windows NT domain controller doing this job ; domain master = yes # Preferred Master causes Samba to force a local browser election on startup # and gives it a slightly higher chance of winning the election ; preferred master = yes # Enable this if you want Samba to be a domain logon server for # Windows95 workstations. ; domain logons = yes # if you enable domain logons then you may want a per-machine or # per user logon script # run a specific logon batch file per workstation (machine) ; logon script = %m.bat # run a specific logon batch file per username ; logon script = %U.bat # Where to store roving profiles (only for Win95 and WinNT)

616

Captulo 20: El Servidor SAMBA # %L substitutes for this servers netbios name, %U is username # You must uncomment the [Profiles] share below ; logon path = \\%L\Profiles\%U # All NetBIOS names must be resolved to IP Addresses # Name Resolve Order allows the named resolution mechanism to be specified # the default order is host lmhosts wins bcast. host means use the unix # system gethostbyname() function call that will use either /etc/hosts OR # DNS or NIS depending on the settings of /etc/host.config, /etc/nsswitch.conf # and the /etc/resolv.conf file. host therefore is system configuration # dependant. This parameter is most often of use to prevent DNS lookups # in order to resolve NetBIOS names to IP Addresses. Use with care! # The example below excludes use of name resolution for machines that are NOT # on the local network segment # - OR - are not deliberately to be known via lmhosts or via WINS. ; name resolve order = wins lmhosts bcast # Windows Internet Name Serving Support Section: # WINS Support - Tells the NMBD component of Samba to enable its WINS Server ; wins support = yes # WINS Server - Tells the NMBD components of Samba to be a WINS Client # Note: Samba can be either a WINS Server, or a WINS Client, but NOT both ; wins server = w.x.y.z # WINS Proxy - Tells Samba to answer name resolution queries on # behalf of a non WINS capable client, for this to work there must be # at least one WINS Server on the network. The default is NO. ; wins proxy = yes # DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names # via DNS nslookups. The built-in default for versions 1.9.17 is yes, # this has been changed in version 1.9.18 to no. dns proxy = no # Case Preservation can be handy - system default is _no_ # NOTE: These can be set on a per share basis ; preserve case = no ; short preserve case = no # Default case is normally upper case for all DOS files ; default case = lower

617

Sistema Operativo Linux # Be very careful with case sensitivity - it can break things! ; case sensitive = no #========================== Share Definitions ======================= idmap uid = 16777216-33554431 idmap gid = 16777216-33554431 template shell = /bin/false winbind use default domain = no [homes] comment = Home Directories browseable = no writable = yes # Un-comment the following and create the netlogon directory for Domain Logons ; [netlogon] ; comment = Network Logon Service ; path = /home/netlogon ; guest ok = yes ; writable = no ; share modes = no # Un-comment the following to provide a specific roving profile share # the default is to use the users home directory ;[Profiles] ; path = /home/profiles ; browseable = no ; guest ok = yes # NOTE: If you have a BSD-style print system there is no need to # specifically define each individual printer [printers] comment = All Printers path = /var/spool/samba browseable = no # Set public = yes to allow user guest account to print guest ok = no writable = no printable = yes # This one is useful for people to share files ;[tmp] ; comment = Temporary file space

618

Captulo 20: El Servidor SAMBA ; path = /tmp ; read only = no ; public = yes # A publicly accessible directory, but read only, except for people in # the staff group ;[public] ; comment = Public Stuff ; path = /home/samba ; public = yes ; read only = yes ; write list = @staff # Other examples. # # A private printer, usable only by fred. Spool data will be placed in freds # home directory. Note that fred must have write access to the spool directory, # wherever it is. ;[fredsprn] ; comment = Freds Printer ; valid users = fred ; path = /homes/fred ; printer = freds_printer ; public = no ; writable = no ; printable = yes # A private directory, usable only by fred. Note that fred requires write # access to the directory. ;[fredsdir] ; comment = Freds Service ; path = /usr/somewhere/private ; valid users = fred ; public = no ; writable = yes ; printable = no # a service which has a different directory for each machine that connects # this allows you to tailor configurations to incoming machines. You could # also use the %u option to tailor it by user name. # The %m gets replaced with the machine name that is connecting.

619

Sistema Operativo Linux ;[pchome] ; comment = PC Directories ; path = /usr/pc/%m ; public = no ; writable = yes # A publicly accessible directory, read/write to all users. Note that all files # created in the directory by users will be owned by the default user, so # any user with access can delete any other users files. Obviously this # directory must be writable by the default user. Another user could of course # be specified, in which case all files would be owned by that user instead. ;[public] ; path = /usr/somewhere/else/public ; public = yes ; only guest = yes ; writable = yes ; printable = no # The following two entries demonstrate how to share a directory so that two # users can place files there that will be owned by the specific users. In this # setup, the directory should be writable by both users and should have the # sticky bit set on it to prevent abuse. Obviously this could be extended to # as many users as required. ;[myshare] ; comment = Marys and Freds stuff ; path = /usr/somewhere/shared ; valid users = mary fred ; public = no ; writable = yes ; printable = no ; create mask = 0765 Para especificar el grupo de trabajo Windows y una breve descripcin del servidor Samba, edite las siguientes lneas en el archivo smb.conf: workgroup = WORKGROUPNAME server string = BRIEF COMMENT ABOUT SERVER Reemplace WORKGROUPNAME con el nombre del grupo de trabajo de Windows al que pertenece esta mquina. El comentario BRIEF COMMENT ABOUT SERVER es opcional y se usa para hacer una descripcin sencilla sobre el servidor Samba.

620

Captulo 20: El Servidor SAMBA Para crear un directorio compartido Samba en su sistema Linux, agregue la siguiente seccin en su archivo smb.conf. [sharename] comment = Inserte un comentario aqu path = /home/public/ valid users = carole nicole public = no writable = yes printable = no create mask = 0765 El ejemplo de arriba permite que los usuarios carole y nicole, lean y escriban en el directorio /home/public/, en servidor Samba, desde un cliente Samba.

20.2.2.1. Creacin de un recurso compartido: paso a pasoProblema: Se pretende crear un recurso compartido con el nombre de varios. Este recurso compartido debe ser en realidad el subdirectorio varios dentro del directorio public en la raz del sistema de archivos. El recurso compartido varios debe ser accesado slo por el usuario invitado y la contrasea de acceso ser: 123abc. A continuacin se muestra la secuencia de rdenes que debe seguir para crear el recurso compartido, todo va comandos: 1. Ingresar como usuario root. 2. Crear en la raz del sistema de archivos el directorio public.[root@fedora3 ~]# mkdir /public

Crear el directorio varios en public. [root@fedora3 ~]# mkdir /public/varios Nota: Las dos rdenes anteriores se pueden resumir en el siguiente comando:[root@fedora3 ~]# mkdir /public /public/varios

Crear el grupo varios [root@fedora3 ~]# groupadd varios Crear el usuario invitado [root@fedora3 ~]# useradd g varios c Usuario Invitado d /home/invitado s /bin/bash invitado 621

Sistema Operativo Linux Asignar contrasea a invitado: [root@fedora3 ~]# passwd invitado Changing password for user nicole. New UNIX password: BAD PASSWORD: it is based on a dictionary word Retype new UNIX password: passwd: all authentication tokens updated successfully. Cambiar de propietario al directorio varios:[root@fedora3 ~]# cd /public

[root@fedora3 public]$ chown invitado varios Cambiar de grupo al directorio varios: [root@fedora3 public]# chgrp varios varios

20.2.3. Contraseas encriptadasLinux Fedora encripta las contraseas por defecto porque esto es ms seguro. Si no encripta las contraseas entonces usar contraseas de texto, que pueden ser interceptadas por alguien que use un paquete rastreador en la red. Entonces es recomendable encriptar las contraseas. El protocolo SMB de Microsoft originalmente usaba contraseas de texto sencillas. Sin embargo, Windows NT 4.0 con el Service Pack 3 o superior, Windows 98, Windows 2000, Windows ME, y Windows XP requieren contraseas encriptadas Samba. Para usar Samba entre un sistema Linux y uno de los sistemas operativos mencionados anteriormente, usted puede o editar su registro de Windows para usar contraseas de texto sencillas o configurar Samba en su sistema Linux para usar contraseas encriptadas. Si elige modificar su registro, debe hacerlo en todas las mquinas Windows. Esto es un riesgo y puede causar posteriormente conflictos. Se recomienda que encripte las contraseas para mayor seguridad. Para configurar Samba con contraseas encriptadas en su sistema Linux Fedora siga los siguientes pasos: 1. Cree un archivo de contraseas aparte para Samba. Para crear uno basado en el archivo /etc/passwd, digite en el prompt del shell el siguiente comando: cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd Si el sistema usa NIS, digite el siguiente comando: ypcat passwd | mksmbpasswd.sh > /etc/samba/smbpasswd 622

Captulo 20: El Servidor SAMBA El script mksmbpasswd.sh est instalado en el directorio /usr/bin/ con el paquete de Samba. 2. Cambie los permisos de acceso al archivo de contraseas de Samba para que slo el usuario root pueda leer y escribir: chmod 600 /etc/samba/smbpasswd 3. El script no copia las contraseas del usuario al nuevo archivo, y una cuenta de usuario Samba no se activa hasta que se fije para l. Para una seguridad alta, se recomienda que la contrasea de usuario Samba sea diferente de la contrasea del sistema Linux Fedora. Para fijar cada contrasea de usuario Samba, use el siguiente comando (reemplace username con la cuenta de usuario): smbpasswd username 4. Las contaseas encriptadas deben ser habilitadas en el archivo de configuracin de Samba. En el archivo smb.conf, verifique que no estn comentadas las siguientes lneas: encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd 5. Est seguro que el servicio smb est iniciado al digitar en el prompt del shell el comando siguiente: service smb restart 6. Si quiere que el servicio smb se inicie automticamente, use ntsysv, chkconfig o la herramienta de configuracin de servicios para habilitarlo al tiempo de inicializacin.

Nota: Lea /usr/share/doc/samba-/docs/htmldocs/ENCRYPTION.html para aprender ms sobre encriptacin de contraseas. (Reemplace con el nmero de versin de Samba que ha instalado). El mdulo PAM pam_smbpass puede ser usado para sincronizar las contraseas de usuario Samba con sus contraseas del sistema cuando el comando passwd sea usado. Si un usuario invoca el comando passwd, la contrasea que l usa para conectarse al sistema Linux Fedora asi como la contrasea que debe proveer para conectarse al recurso compartido Samba ser cambiada. Para habilitar esta facilidad, aada la siguiente lnea a /etc/pam.d/system-auth bajo la invocacin de pam_cracklib.so: password required /lib/security/pam_smbpass.so nullok use_authtok try_first_pass

623

Sistema Operativo Linux

20.2.4. Iniciando y deteniendo el servidorEn el servidor que se comparten los directorios va Samba, el servicio smb debe estar corriendo. A continuacin algunos comandos necesarios de aprender: Ver el estado del demonio Samba con el siguiente comando: /sbin/service smb status Iniciar el demonio smb con el siguiente comando: /sbin/service smb start Detener el demonio smb con el siguiente comando: /sbin/service smb stop Para iniciar el servicio smb al tiempo de "boot", use el siguente comando: /sbin/chkconfig --level 345 smb on Puede usar tambin chkconfig, ntsysv o la herramienta de configuracin de servicios (Services Configuration Tool) para configurar qu servicios iniciar al tiempo de boot.

624

Captulo 20: El Servidor SAMBA

20.3. Conexin a un recurso compartido Samba20.3.1. Conexin desde un sistema WindowsPara conectarse a un recurso compartido Samba de Linux Fedora desde una mquina Microsoft Windows, use Entorno de red o el administrador de archivos grfico. Esto se aprecia en la siguiente figura:

Figura 20.11. Fedora en el Entorno de red. En este ejemplo la conexin a los recursos compartidos de Linux Fedora se har a travs de la mquina L2-06, cuyo sistema operativo es Microsoft Windows 98. Se puede apreciar tambin en la figura anterior que esta red es multiplataforma pues soporta varios sistemas operativos como Windows 98, Linux Fedora Core 3 y Netware 5 de Novell (icono Nw5).

625

Sistema Operativo Linux Para conectarse a los recursos compartidos de Linux Fedora se debe hacer un doble clic en Fedora3 (Servidor Samba HHAS); seguidamente el sistema desplegar una ventana de autenticacin como la que se muestra a continuacin:

Figura 20.12. Fedora en el Entorno de red. La contrasea que se ingresa es una contrasea Samba que puede o no coincidir con la contrasea del sistema Linux Fedora.

626

Captulo 20: El Servidor SAMBA

20.3.2. Conexin desde un sistema Linux20.3.2.1. En un ambiente de textoPara conectarse a un recurso compartido Samba desde un sistema Linux, debe utilizar el comando smbclient en el prompt de su interface de comandos de lnea. La sintaxis a utilizar es la siguiente: smbclient //hostname/sharename -U username Reemplace hostname con el nombre del host o con la direccin IP del servidor Samba al que quiere conectarse. Reemplace sharename con el nombre del recurso compartido que quiere explorar, y reemplace username con la cuenta de usuario Samba del sistema. Ingrese una contrasea si as es requerido. Si ve el prompt smb:\>, se ha realizado un acceso satisfactorio. Por ejemplo:[hharagons@fedora3 ~]$ smbclient //fedora3.iciuni.edu.pe/varios -U invitado

Password: Domain=[FEDORA3] OS=[Unix] Server=[Samba 3.0.8pre1-0.pre1.3] smb: \> La orden siguiente genera el mismo resultado:[hharagons@fedora3 ~]$ smbclient //192.168.1.243/varios -U invitado

El archivo /etc/hosts resuelve el problema de nombre de hosts a direccin IP. Veamos este archivo:[hharagons@fedora3 ~]$ cat /etc/hosts

# Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost 192.168.1.243 fedora3.iciuni.edu.pe lfc3 Una vez que se ha conectado digite help por la lista de comandos. Si desea explorar el contenido de su directorio hogar, reemplace sharename con su cuenta de usuario. Si el conmutador: -U no se usa, la cuenta de usuario del usuario actual es pasada al servidor Samba. Para salir del cliente, digite exit en el prompt smb:\>

627

Sistema Operativo Linux

20.3.2.2. En un ambiente grficoPuede usar tambin Nautilus para ver los recursos compartidos de Samba en la red. Seleccione: botn Aplicaciones (en el Panel) Servidores de red para ver una lista de grupos de trabajo Samba en la red.

Figura 20.13. Grupos de trabajo SMB en Nautilus. Al realizar un doble clic en el icono Red de Windows, se presentan los grupos de trabajo, que se puede apreciar en la siguiente figura:

Figura 20.14. Grupos de trabajo SMB en Nautilus. En esta ventana puede apreciar los grupos de trabajo: lab02 y win2003. El servidor Linux es parte del grupo de trabajo lab02. Esto se apreciar en la siguiente figura:

628

Captulo 20: El Servidor SAMBA Al realizar un doble clic en el icono del grupo de trabajo lab02, se aprecia las mquinas integrantes de este grupo.

Figura 20.15. Mquinas del Grupos de trabajo: lab02. La mquina L2-11 es una mquina Windows 98, la mquina L2-11-XP tiene como sistema operativo de base al Windows XP Professional y la mquina L2-15 es un servidor de Windows 2000. Si se realiza un doble clic en el icono del servidor de Linux FEDORA3, se aprecian los siguientes iconos:

Figura 20.16. Mquinas del Grupos de trabajo: lab02. La Figura 20.16. muestra los recursos que comparte el servidor Linux: fedora3. Los recursos varios y hharagons son los ejemplos explicados en este captulo. Para acceder a estos recursos se debe ingresar una cuenta de usuario y una contrasea. 629

Sistema Operativo Linux Ahora veamos esto de otra manera (ojo, siempre con Nautilus): Clic derecho en Equipo Elija: Explorar carpeta Aparece la ventana: Visualizador de Archivos: Equipo, como se presenta en la figura siguiente:

Figura 20.17. Trabajando con Nautilus. Si deseo ir directamente al recurso compartido, entonces en la caja Ubicacin:, se debe ingresar algo parecido a lo siguiente: smb://user:password@servername/sharename/ Donde: smb: es el protocolo SMB de acceso a los recursos compartidos. user: es la cuenta del usuario Samba. password: es la contrasea del usuario Samba. servername: es el servidor Samba. sharename: es el recurso compartido Samba. Esto puede apreciarlo en la Figura 20.18. Accesando a un recurso (compartido) va Nautilus. Aprecie la caja Ubicacin: se pretende acceder al recurso compartido hharagons que coincide con la cuenta del usuario. Aqu el primer hharagons es la cuenta del usuario y el segundo es el nombre del recurso compartido. 630

Captulo 20: El Servidor SAMBA

Figura 20.18. Accesando a un recurso va Nautilus. Despus de ingresar la contrasea el sistema mostrar los recursos accesados, como se aprecia en la figura 20.19. Acceso aceptado de un recurso va Nautilus. Nota: Se recomienda nuevamente que la contrasea utilizada para acceder al recursos compartido sea diferente de la contrasea para acceder al sistema Linux.

631

Sistema Operativo Linux

Figura 20.19. Acceso aceptado de un recurso va Nautilus.

632

Captulo 20: El Servidor SAMBA

20.4. Resumen de programas de Sambasmbd smbd es el demonio que provee los servicios de archive e impresin a los clientes SMB, tales como Windows 95/98, Windows NT, Windows para grupos de trabajo o LanManager. nmbd nmbd es el demonio que provee el soporte de nombres y exploracin NetBIOS.[root@fedora3 ~]# service smb status

Se est ejecutando smbd (pid 3600 3584 3568 3561)... Se est ejecutando nmbd (pid 3565)... smbclient smbclient es el programa que se usa para accesar a los recursos compartidos SMB en otros servidores compatibles (como Windows NT), y puede ser usado para permitir a u sistema UNIX imprimir en cualquier impresora conectada a cualquier servidor SMB (tal como una PC corriendo Windows NT).[hharagons@fedora3 ~]$ smbclient //192.168.1.243/hharagons -U hharagons

Password: Domain=[FEDORA3] OS=[Unix] Server=[Samba 3.0.8pre1-0.pre1.3] smb: \> testparm testparm es un programa de utilidad que chequea la sintaxis del archivo de configuracin de Samba, /etc/samba/smb.conf.[root@fedora3 ~]# testparm

Load smb config files from /etc/samba/smb.conf Processing section [homes] Processing section [printers] Processing section [hharagons] Processing section [publico] Processing section [varios] Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions

633

Sistema Operativo Linux # Global parameters [global] workgroup = LAB02 server string = Servidor Samba HHAS password server = None guest account = hharagons username map = /etc/samba/smbusers log file = /var/log/samba/%m.log max log size = 50 socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 printcap name = /etc/printcap dns proxy = No idmap uid = 16777216-33554431 idmap gid = 16777216-33554431 guest ok = Yes cups options = raw [homes] comment = Home Directories read only = No browseable = No [printers] comment = All Printers path = /var/spool/samba printable = Yes browseable = No [hharagons] comment = Directorio Privado de HHAS path = /home/hharagons/private valid users = hharagons read only = No create mask = 0765 [publico] comment = Directorio Publico de Samba path = /home/hharagons/public valid users = invitado create mask = 0555 [varios] comment = Informacion variada path = /public/varios 634

Captulo 20: El Servidor SAMBA testprns testprns es un programa de utilidad que realiza un test a los nombres de impresoras definidas en el archivo /etc/printcap usado por Samba. smbstatus smbstatus es una herramienta que provee informacin acerca de las conexiones actuales al servicio smb.[hharagons@fedora3 ~]$ smbstatus

Samba version 3.0.8pre1-0.pre1.3 PID Username Group Machine ---------------------------------------------------------------------------------3600 hharagons hharagons l2-16 (192.168.1.137) 3584 hharagons hharagons l2-04 (192.168.1.132) Service pid machine Connected at ------------------------------------------------------------------------------varios 3584 l2-04 Thu Aug 11 20:51:16 2005 varios 3600 l2-16 Thu Aug 11 20:53:45 2005 IPC$ 3584 l2-04 Thu Aug 11 19:56:48 2005 hharagons 3584 l2-04 Thu Aug 11 19:56:51 2005 hharagons 3600 l2-16 Thu Aug 11 20:06:47 2005 No locked files nmblookup La herramienta nmblookup permite realizar consultas desde un host UNIX a sistemas de nombres NetBIOS.[hharagons@fedora3 ~]$ nmblookup -w lab02

querying lab02 on 192.168.1.255 192.168.1.243 lab02 192.168.1.132 lab02 192.168.1.145 lab02 192.168.1.137 lab02 192.168.1.115 lab02

635

Sistema Operativo Linux smbpasswd El comando smbpasswd es una herramienta para cambiar las contraseas de Lan Manager y Windows NT en servidores Samba y Windows NT. smbcacls El commando smbcacls es una herramienta para fijar ACLs en Servidores CIFS. smbsh El comando smbsh es un programa que permite correr un shell UNIX con un sistema VFS. smbtree El comando smbtree es una herramienta de red basada en texto.[hharagons@fedora3 ~]$ smbtree

Password: LAB02 \\MAQUINA \\L2-16 \\FEDORA3 Servidor Samba HHAS \\FEDORA3\ADMIN$ IPC Service (Servidor Samba HHAS) \\FEDORA3\IPC$ IPC Service (Servidor Samba HHAS) \\FEDORA3\varios Informacion variada \\FEDORA3\publico Directorio Publico de Samba \\FEDORA3\hharagons Directorio Privado de HHAS ICI_LAN session request to 192.168.1.4 failed (Called name not present) \\SERVER_SQL \\SERVER_SQL\VisualAge4 \\SERVER_SQL\VisualBasic \\SERVER_SQL\Demos \\SERVER_SQL\w2000 \\SERVER_SQL\Archicad 7.0 \\SERVER_SQL\Matlab6.5 \\SERVER_SQL\Netmeeting \\SERVER_SQL\CHEYALERT$ \\SERVER_SQL\F$ Recurso predeterminado \\SERVER_SQL\Office XP \\SERVER_SQL\Invitado \\SERVER_SQL\E$ Recurso predeterminado \\SERVER_SQL\D$ Recurso predeterminado \\SERVER_SQL\C$ Recurso predeterminado 636

Captulo 20: El Servidor SAMBA \\SERVER_SQL\pb8.0 \\SERVER_SQL\SQL2000 \\SERVER_SQL\IPC$ IPC remota \\SERVER_SQL\ADMIN$ Admin remota \\SERVER_SQL\CLIENTE321 \\SERVER_SQL\G \\SERVER_SQL\NETLOGON Recurso compartido del servidor de inicio de sesin smbtar smbtar puede hacer backups de datos en servidores CIFS/SMB. smbspool smbspool es un programa de utilidad que ayuda a imprimir en impresoras conectadas a servidores CIFS. smbcontrol smbcontrol es un programa de utilidad que puede cambiar el accionar de los demonios de Samba. rpcclient El programa de utilidad rpcclient que puede ser usada para ejecutar comandos RPC en servidores remotos CIFS. pdbedit El comando pdbedit se usa para mantener la base de datos del usuario local en un servidor Samba. findsmb El comando findsmb se usa para buscar servidores SMB en la red local.[hharagons@fedora3 ~]$ findsmb

*=DMB +=LMB IP ADDR NETBIOS NAME WORKGROUP/OS/VERSION --------------------------------------------------------------------------------------------------------------192.168.1.4 SERVER_SQL *[ICI_LAN] [Windows NT 4.0] [NT LAN Manager 4.0] 192.168.1.85 MAQUINA [LAB02] [Windows 5.1] [Windows 2000 LAN Manager] 192.168.1.115 L2-06 [ LAB02 ] 192.168.1.132 L2-04 [ LAB02 ] 192.168.1.137 L2-16 [LAB02] [Windows 5.1] [Windows 2000 LAN Manager] 192.168.1.145 L2-19 [ LAB02 ] 192.168.1.243 FEDORA3 +[LAB02] [Unix] [Samba 3.0.8pre1-0.pre1.3] 637

Sistema Operativo Linux net El comando net trabaja de forma similar al comando NET.EXE de DOS/Windows. swat Es una interface web para configurar el archivo de configuracin de Samba, smb.conf. winbindd winbindd es un demonio que se usa para integrar la autenticacin y la base de datos del usuario en UNIX. wbinfo El programa wbinfo es una utilidad que recupera y almacena informacin relacionada con winbind. editreg editreg es una utilidad de lnea que puede editar los archivos del Registro de Windows. profiles profiles es una utilidad de lnea que puede ser usada para reemplazar todas las ocurrencias de un determinado SID con otro SID. vfstest El programa de utilidad vfstest se utiliza para verificar mdulos vfs. ntlm_auth El programa ntlm_auth es un utilitario de ayuda para programas externos que realizan autenticacin NTLM. smbmount, smbumount, smbmnt smbmount, smbumount y smbmnt son comandos que se usan para montar o desmontar recursos compartidos CIFS/SMB en Linux. the option -t smbfs. For example: mount -t smbfs -o username=tridge,password=foobar //fjall/test /data/test smbcquotas La herramienta smbcquotas puede fijar una cuota en un servidor NTFS v5.

638

Captulo 20: El Servidor SAMBA

20.5. Recursos AdicionalesPara las opciones de configuracin no cubiertas aqu, por favor dirjase a los siguientes recursos.

20.5.1. Documentacin Instalada man smb.conf Explica como configurar el archivo de configuracin de Samba. man smbd Describe como trabaja el demonio de Samba. /usr/share/doc/samba-/docs/ Archivos de ayuda en formato html y texto incluido en el paquete de Samba.

20.5.2. Sitio webLa pgina Web de Samba: http://www.samba.org, contiene bastante documentactin, informacin sobre listas de correo, y una lista de interfaces GUI.

639

Sistema Operativo Linux

640