miércoles, 18 de julio de 2007

SAMBA (swat) en Solaris 10

En una aportacion a la comunidad de Solaris de la Universidad Tecnologica de Mexico (UNITEC) redacto a continuacion la manera mas limpia (a mi parecer) y sencilla de instalar un server SAMBA en openSolaris para compartir recursos con "Windows".

INSTALACION

La instalacion puede ser o muy sencilla o muy complicada, todo depende de la configuracion de tu maquina, suponiendo que bajaste el DVD y escogiste instalar "TODO", Samba debe de venir ya instalado en tu sistema.

La manera de comprobar que tengas instalado samba es buscar una carpeta con el nombre:
SWAT, o buscar el archivo smb.conf*

Si te encuentras que no tienes instalado samba por alguna oscura razon, puedes instalarlo manualmente, Mi recomendacion seria usar pkgadd para realizarlo.

Primero tienes que entrar a la pagina de http://www.sunfreeware.com/ a la derecha seleccionas tu tipo de arquitectura y buscas samba* (No bajar el .tar.gz solo el .gz).

Como podras ver tiene muchas dependencias, y lo primero que tienes que hacer es instalar una por una cada dependencia.

suncasa# gzip -d archivo1.gz
suncasa# pkgadd -d archivo1.pkg

Bueno basta...vamos a lo bueno!!!

CONFIGURACION

Muy bien si todo esta correcto debes de tener una carpeta: /usr/local/sfw y otra como:
/etc/sfw

Crea la carpeta share dentro de un lugar "seguro"

suncasa# mkdir /export/home/shared

Hay quienes dejan los permisos tal cual pero yo se los cambie con la esperanza de hacer el sistema mas seguro:

suncasa# chmod -R 700 /export/home/shared

Ademas el propietario y grupo de la carpeta debe de ser sys:sys

suncasa# chown -R sys:sys /export/home/shared

Lo que sigue es quiza una de las cosas que cuesta mas trabajo entender y es el archivo smb.conf . Yo lo hize suponiendo que funcionaria, ya que no tengo ninguna maquina con Windows :D, pero creo que debe de funcionar.

Para facilitar esto ya se tiene un ejemplo del archivo de configuracion.

suncasa# cp /etc/sfw/smb.conf.example /etc/sfw/smb.conf
suncasa# vi /etc/sfw/smb.conf

Muestro como tengo mi configuracion para que se den una idea:

[global]

# El dominio de trabajo debe de Coincidir con la Maquina WINDOWS
workgroup = UNITEC_SUN

# El equivalente a la descripcion en Windows
server string = Solaris

# Este nivel de seguridad lo puse puesto que solo va compartir recursos dentro de una red
#pequeña

security = share

# Hosts que estan permitidos para conectarse al server, incluido localhost
hosts allow = 192.168.1. 192.168.2. 127.

load printers = yes

## A partir de aqui lo deje en default hasta la parte que sigue
###
###
##

#============================ Share Definitions ==============================
[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 = /usr/sfw/lib/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 user's home directory
;[Profiles]
; path = /usr/local/samba/profiles
; browseable = no
; guest ok = yes


# Impresora
[printers]
comment = All Printers
path = /var/spool/samba
browseable = yes

# Set public = yes to allow user 'guest account' to print
guest ok = no
writable = no
printable = yes

##Compartiendo el directorio

[myshare]
comment = UNITEC Comunidad SOLARIS
path = /export/home/shared
valid users = mauricio
public = yes
writable = yes
printable = yes
create mask = 0765




Podemos probar la configuracion:

suncasa# /usr/local/sfw/bin/testparm

Ahora hay que editar los services y el inetd.conf

Para /etc/services añadir estas 3 lineas al final

netbios-ns 137/udp # Samba nmbd
netbios-ssn 139/tcp # Samba smbd
swat 901/tcp # Samba swat

y para /etc/inetd.conf

netbios-ssn stream tcp nowait root /usr/local/sfw/sbin smbd
netbios-ns dgram udp wait root /usr/local/sfw/sbin nmbd
swat stream tcp nowait.400 root /usr/local/sfw/sbin swat

Solo queda :
suncasa# # inetconv -i /etc/inetd.conf (el archivo inetd.conf puede que este en otro lugar)

Ahora para comprobar que todo este correcto abriendo un explorador y poner la direccion:
http://localhost:901

Lo que debe salir es una ventana pidiendo user y pass el cual puede ser un usuario de sistema o un creado por samba:

suncasa# /usr/local/sfw/bin/smbpasswd -a user
New Password:
Retype Password:

Para ingresar a carpetas se puede hacer con

\\ip.de.la.maquina\shared

Esto en teoria deberia de funcionar, no tengo la oportunidad de probarlo ya que no tengo una maquina con Windows, pero si tienen algun problema para compartir recursos pueden poner su duda aqui.

Un saludo a la Comunidad Solaris UNITEC Campus Atizapan y un agradecimiento a Gabriel Jimenez por resolver mi dudas en este proyecto.

Hasta la Proxima








3 comentarios:

admin dijo...

Ya probado con un cliente Windows solo que en la direccion del recurso en este caso no es "shared" si no que es "myshare"
Hasta la proxima

Anónimo dijo...

Hola, gracias por el aporte, pero tengo una duda, si deseas compartir la papelera de reciclaje como sería? estoy corriendo en opensolaris, pero supongo que será igual.

Mauricio dijo...

Hola, si es parecido en opensolaris, pero a mi me causo un poco de problemas, lo voy a intentar de nuevo y pongo una nueva entrada, si deseas compartir la papelera la ruta debe de ser algo como :
$HOME/.local/share/Trash/files

dentro de Trash/files estan todos los archivos que estan en la papelera, pero hay otro archivo interesante dentro de Trash, que es Trash/info que contiene un archivo de informacion por cada archivo que esta en la papelera.

Espero que te haya servido.
Saludos