Foros del Web » Administración de Sistemas » Unix / Linux »

Samba

Estas en el tema de Samba en el foro de Unix / Linux en Foros del Web. Hola a todos. Espero me puedan ayudar porque ya llevo un buen rato tratando de solucionar esto y no he podido. La situación es la ...
  #1 (permalink)  
Antiguo 08/11/2005, 09:50
 
Fecha de Ingreso: noviembre-2005
Mensajes: 15
Antigüedad: 18 años, 5 meses
Puntos: 0
Pregunta Samba

Hola a todos.
Espero me puedan ayudar porque ya llevo un buen rato tratando de solucionar esto y no he podido.
La situación es la siguiente:

Tengo un equipo Linux que va a fungir como servidor y estaciones de trabajo Linux.
En el servidor necesito crear automáticamente a partir de un archivo de texto mas de 1000 cuentas de usuario con su respectivo password, y cada vez que haya un usuario nuevo o ya no exista uno, crear o eliminar una cuenta automáticamente. De la misma manera al crear un usuario tengo que crear una carpeta en el servidor para ese usuario y darle permisos a ese usuario exclusivamente, para que solo el tenga permisos de lectura y escritura.
Hasta ahi todo va bien, eso ya lo logre.

El problema esta al momento de conectarme. Voy a poner un ejemplo:

El usuario1 se conecta con

smb://server/usuario1

ahi necesito que me pida el usuario y contraseña que yo asigne anteriormente. Esto va y lo checa en smb.conf en la lista de usuarios validos y si existe entra a la carpeta.
El punto es como agrego mas de 1000 usuarios automáticamente a smb.conf o bien tal vez algo me falta saber para hacer esto.
Ya he investigado mucho y no he sabido aun como.
Agradezco mucho una respuesta o muchas.
  #2 (permalink)  
Antiguo 08/11/2005, 10:04
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 21 años, 9 meses
Puntos: 29
Primero que todo por favor especifica distribucion, y segundo te recomiendo que utilices swat.

saludos
__________________
“Los soñadores no existen, se lo dice un soñador que ha tenido el privilegio de ver realidades que ni siquiera fue capaz de soñar”

Última edición por Koveart; 25/11/2005 a las 09:34
  #3 (permalink)  
Antiguo 08/11/2005, 11:08
 
Fecha de Ingreso: noviembre-2005
Mensajes: 15
Antigüedad: 18 años, 5 meses
Puntos: 0
Samba

La distribucion que utilizo es SUSE 9.3 en el servidor y en las estaciones de trabajo algunas son SUSE 9.1 y algunas 9.3.

Voy a ser un poco mas conciso:

Yo tengo dos archivos de texto en los cuales en uno tengo la informacion de los usuarios a crear y en otra los usuarios que ya no estan activos y por lo tanto hay que eliminar.
Constantemente esta informacion cambia. Por ejemplo hoy tal vez haya que crear 30 usuarios y mañana borrar 15 y asi dependiendo de la rotacion de gente.
Lo que hago es leer los archivos y crear cuentas, passwords y carpetas con sus respectivos permisos. Todo esto automaticamente.
De hecho hay un cron que constantemente realiza esta accion.
¿Cual es el problema? Ok, pongo un ejemplo:

Usuario: pedro
Carpeta: /home/pedro

Cuando el cron lee el archivo, crea el usuario pedro y su password. Tambien crea su home y le da permisos de lectura/escritura a la carpeta pedro para que solo la utilice el usuario pedro.

Ahora lo que yo necesito es que cuando el cliente escriba:

smb://server/pedro

me pida nombre de usuario y contraseña.
Obviamente necesito hacer algo asi en smb.conf:

[pedro]
path = /home/pedro
read only = no
valid users = pedro
write list = pedro
.
.
.

La pregunta es como creo esto automaticamente o si haya alguna otra forma de hacer esto.
Si con swat lo puedo hacer automaticamente ¿Como lo hago?
  #4 (permalink)  
Antiguo 08/11/2005, 13:23
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 21 años, 9 meses
Puntos: 29
No con swat no lo puedes hacer automaticamente, swat simplemente es una interfaz web para samba. Es interesante el trabajo que estas realizando pero no entiendo hasta que punto de la implementacion has llegado y que te falta. Bueno desde luego que puedes agregar entradas automaticamente con un script, algo complejo eso si pero de poderse se puede.

Desde luego tendr´ias que hacerte un cursito acelerado de scripting en shell y otro de expresiones regulares para poder manejar todo automaticamente.

Saludos
__________________
“Los soñadores no existen, se lo dice un soñador que ha tenido el privilegio de ver realidades que ni siquiera fue capaz de soñar”
  #5 (permalink)  
Antiguo 08/11/2005, 14:58
 
Fecha de Ingreso: noviembre-2005
Mensajes: 15
Antigüedad: 18 años, 5 meses
Puntos: 0
De hecho lo unico que me falta hacer es agregar los modulos para cada usuario:

[pedro]
path = /home/pedro
read only = no
valid users = pedro
write list = pedro
.
.
.

solo queria saber si habia una forma mas sencilla de hacerlo para evitar estar afectando directamente el smb.conf cada vez que haya que crear o eliminar usuarios.
  #6 (permalink)  
Antiguo 08/11/2005, 15:01
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 21 años, 9 meses
Puntos: 29
La verdad el unico archivo de configuracion, bueno es donde se guardan y almacenan las caracteristicas de samba. sin duda es el que tienes que tocar. Lo que no entiendo es si tienes que agregar manualmente o automaticamente los usuarios.

Saludos
__________________
“Los soñadores no existen, se lo dice un soñador que ha tenido el privilegio de ver realidades que ni siquiera fue capaz de soñar”
  #7 (permalink)  
Antiguo 08/11/2005, 15:11
 
Fecha de Ingreso: noviembre-2005
Mensajes: 15
Antigüedad: 18 años, 5 meses
Puntos: 0
Automaticamente, porque de hecho de inicio son cerca de 1200 usuarios los que hay que agregar y a cada uno asignarles una carpeta compartida.
De ahi en adelante depende de la cantidad de usuarios que se den de alta o de baja. Tal vez un dia se dan de alta 30 y otro 45 y se da de baja 3, puede variar, pero eso por razones obvias es necesario que sea automatico.
  #8 (permalink)  
Antiguo 08/11/2005, 15:12
 
Fecha de Ingreso: noviembre-2005
Mensajes: 15
Antigüedad: 18 años, 5 meses
Puntos: 0
De antemano agradezco mucho tu aportación para resolver esto, ya que he estado consultando en varias partes y has sido el unico que me ha dado una respuesta.
  #9 (permalink)  
Antiguo 08/11/2005, 15:21
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 21 años, 9 meses
Puntos: 29
Bueno para eso nos pagan jejejeje. El caso es que supongo que ya tienes todo listo u archivo de configuracion tipico de samba ya lo conoceras, de memoria, pues la unica manera que tienes de que samba sepa quien puede y quien no puede entrar al servidor es mediante la alteracion de este archivo, pro si lo tienes todo automatizado lo unico que tendras que hacer es agregar y eliminar usuarios supongo que ejecutando un script o algo asi.

Lo ideeal es que crees un script que te haga todo automaticamente simplemente introduciendo el nombre de los usuarios. Es algo largo pero es posible. Eso si cada vez que toques el archivo de configuarion de samba guarda una copia de smb.conf para que puedas reiniciar el servicio sin ningun drama. Son muchos usuarios para una maquina, desde luego es muy interesante ese trabajito.

Saludos
__________________
“Los soñadores no existen, se lo dice un soñador que ha tenido el privilegio de ver realidades que ni siquiera fue capaz de soñar”
  #10 (permalink)  
Antiguo 08/11/2005, 15:30
 
Fecha de Ingreso: noviembre-2005
Mensajes: 15
Antigüedad: 18 años, 5 meses
Puntos: 0
Bueno pues empezare a hacer el script, creo que no me queda de otra, porque el tiempo apremia y ya necesito tener esto listo.
Gracias por tu ayuda.
Saludos.
  #11 (permalink)  
Antiguo 08/11/2005, 16:19
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 19 años, 7 meses
Puntos: 47
Si no entiendo mal, lo que tenes que hacer es un share de los homes de los usuarios, no hace falta crear uno por uno.
Ahora mismo no tengo acceso al server donde lo tengo configurado, pero te recomiendo la lectura completa del siguiente articulo:

Samba 3 By Example

Basicamente alli dice que tenes que agregar un share llamado "homes" de la siguiente manera:
Código:
[homes]
comment = Home Directories
valid users = %S
read only = No
browseable = No
Esta en ingles pero es excelente.
Yo estoy tratando de armar una configuracion para poder reemplazar las redes con Active Directory por redes con Samba y servidores Linux.
Me estoy documentando con este documento y el resto de la documentacion de samba y no me esta yendo tan mal...

Saludos!!!
__________________
¡Volviendo a la programación!
  #12 (permalink)  
Antiguo 09/11/2005, 09:13
 
Fecha de Ingreso: noviembre-2005
Mensajes: 15
Antigüedad: 18 años, 5 meses
Puntos: 0
El punto esta en que necesito compartir una carpeta a cada usuario y no una carpeta a todos los usuarios.
  #13 (permalink)  
Antiguo 09/11/2005, 11:23
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 19 años, 7 meses
Puntos: 47
No es una carpeta a todos los usuarios.

Con esta configuracion, cada usuario podra ver un share (solo el suyo) mapeado a su directorio home definido en el archivo /etc/passwd.

Esta es mi configuracion:
Código:
# Samba config file created using SWAT
# from 0.0.0.0 (0.0.0.0)
# Date: 2005/11/07 17:57:08

# Global parameters
[global]
	workgroup = WORKGROUP
	netbios name = SISTEMA
	server string = Servidor Sistema
	map to guest = Bad User
	log file = /var/log/samba/log.%m
	max log size = 50
	name resolve order = wins bcast hosts
	socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
	printcap cache time = 60
	printcap name = cups
	add machine script = /usr/sbin/useradd -d /dev/null -g machines -c 'Machine Account' -s /bin/false -M '%u'
        logon script = logon.bat
	domain logons = Yes
	dns proxy = No
	wins support = Yes
	printer admin = @adm

[homes]
	comment = Home Directories
	valid users = %S
	read only = No
	browseable = No

[netlogon]
	comment = Network Logon Service
	path = /var/data/netlogon

	read only = No

[printers]
	comment = All Printers
	path = /var/spool/samba
	create mask = 0700
	guest ok = Yes
	printable = Yes
	use client driver = Yes
	browseable = No

[print$]
	path = /var/lib/samba/printers
	write list = @adm, root
	inherit permissions = Yes
	guest ok = Yes

[pdf-gen]
	comment = PDF Generator (only valid users)
	path = /var/tmp
	printable = Yes
	printing = bsd
	print command = /usr/share/samba/scripts/print-pdf "%s" "%H" "//%L/%u" "%m" "%I" "%J" &
	lpq command = /bin/true
	lprm command = lprm -P'%p' %j

[sistema]
	comment = Sistema
	path = /var/data/sistema
	valid users = @sistema
	read only = No

[datos]
	comment = Share de Datos de los Usuarios
	valid users = @datos
	writeable = yes
	path = /var/data/datos
y si miramos los shares en el servidor como por ejemplo, el usuario "jorge" vemos:

Código:
[soporte@mail ~]$ smbclient -L localhost -Ujorge
Password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.13]

        Sharename       Type      Comment
        ---------       ----      -------
        netlogon        Disk      Network Logon Service
        print$          Disk
        pdf-gen         Printer   PDF Generator (only valid users)
        sistema         Disk      Sistema
        datos           Disk      Share de Datos de los Usuarios
        IPC$            IPC       IPC Service (Servidor BRT Argentina)
        ADMIN$          IPC       IPC Service (Servidor BRT Argentina)
        jorge           Disk      Home Directories
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.13]

        Server               Comment
        ---------            -------
        PC01
        PC03
        SISTEMA              Servidor BRT Argentina

        Workgroup            Master
        ---------            -------
        BRT                  SISTEMA
En el netlogon, puse un archivo llamado logon.bat con el siguiente contenido:

Código:
net use /d s:
net use s: \\sistema\sistema
net use /d %HOMEDRIVE%
net use %HOMEDRIVE% %HOMESHARE%
net use /d t:
net use t: \\sistema\datos
Que le mapea automaticamente los shares del servidor incluido su home, utilizando variables propias de Windows para hacerlo generico.
No se si estas variables estan presentes en Windows 9x, si lo estan en 2k/XP.

NOTA: Faltan muchas configuraciones de usuarios, grupos, y principalmente permisos de las carpetas para que esta configuracion pueda ser copiada y pegada en otro servidor y que funcione correctamente. Remitirse a Samba 3 By Example, documento con el cual me base para llegar a esta configuracion.

Espero que sirva.
Saludos.
__________________
¡Volviendo a la programación!

Última edición por AleSanchez; 09/11/2005 a las 11:34
  #14 (permalink)  
Antiguo 10/11/2005, 13:15
 
Fecha de Ingreso: noviembre-2005
Mensajes: 15
Antigüedad: 18 años, 5 meses
Puntos: 0
De acuerdo Muchas Gracias

En verdad te agradezco mucho, funciona de maravilla lo que me enviaste.
Probe y efectivamente cada usuario solo tiene acceso a su carpeta.

Como yo trabajo de linux a linux solo cambie mi grupo de trabajo y borre los ultimos dos modulos y funciono muy bien.

MUCHAS GRACIAS!!!
  #15 (permalink)  
Antiguo 10/11/2005, 13:30
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 21 años, 9 meses
Puntos: 29
Creo que ya entendi lo que queria nuestro amigo jajajaja. Pero no entiendo porque no usaron NFS... En visto a que todas las estaciones son Linux no deberia haber problema para que se puedan compartir carpetas mediante NFS.

Saludos
__________________
“Los soñadores no existen, se lo dice un soñador que ha tenido el privilegio de ver realidades que ni siquiera fue capaz de soñar”
  #16 (permalink)  
Antiguo 10/11/2005, 14:00
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 19 años, 7 meses
Puntos: 47
Bueno espero que le sirva a otros tambien.
Esta configuracion esta pensada para clientes Windows "pegados" al dominio Samba para que utilicen las credenciales del servidor para validar a los usuarios.
Como dice el amigo Kover, si es todo linux te conviene NFS.

Ojala pudiera yo implementar algo asi, con todo linux, en algun lado. Seria un gran logro. Aca todo el mundo quiere window$. Imaginate que ya me miraron raro cuando propuse poner solo servidores Linux en una red nueva.
Al final lo hice... El fileserver con esta configuracion.

Saludos!!!
__________________
¡Volviendo a la programación!
  #17 (permalink)  
Antiguo 10/11/2005, 14:12
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 21 años, 9 meses
Puntos: 29
Poco a poco se van dando cuenta de las muchas ventajas que tenemos jejejeje. Es increible saber que cuentas con tantos paquetes.

Agradecerte AleSanchez tus grandes aportes que se nota que van detras de horas de investigacion pero llegando lejos..

Saludos
__________________
“Los soñadores no existen, se lo dice un soñador que ha tenido el privilegio de ver realidades que ni siquiera fue capaz de soñar”
  #18 (permalink)  
Antiguo 10/11/2005, 14:27
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 19 años, 7 meses
Puntos: 47
Gracias, creci con Linux de la mano de este foro. Lo menos que puedo hacer es compartir lo que aprendo.

Saludos.
__________________
¡Volviendo a la programación!
  #19 (permalink)  
Antiguo 10/11/2005, 14:43
 
Fecha de Ingreso: noviembre-2005
Mensajes: 15
Antigüedad: 18 años, 5 meses
Puntos: 0
Nfs

De hecho mi primera intensión fue utilizar nfs, porque aunque en mi empresa tambien existen servidores y estaciones de trabajo Windows en esta ocasión la necesidad fue interactuar entre servidor y estaciones de trabajo Linux.

El punto fue que no supe donde configurar para autenticar a cada usuario solo en su carpeta.
Me imagino que de igual manera que samba toma la informacion de passwd, tambien nfs realiza algo similar.

Aprovechando de su amabilidad podrian orientarme para saber como hacer esto.

De antemano muchas gracias.
  #20 (permalink)  
Antiguo 10/11/2005, 14:52
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 21 años, 9 meses
Puntos: 29
Pues lo que yo haria aunque no lo he hecho seria autenticar cada usuario mediante ssh a su carpeta, con un par de llaves publicas.

Saludos
__________________
“Los soñadores no existen, se lo dice un soñador que ha tenido el privilegio de ver realidades que ni siquiera fue capaz de soñar”
  #21 (permalink)  
Antiguo 10/11/2005, 15:03
 
Fecha de Ingreso: noviembre-2005
Mensajes: 15
Antigüedad: 18 años, 5 meses
Puntos: 0
Si creo que si podria ser asi. Pero creo que mi gran inconveniente es que necesito que todo sea via grafico.
¿Con ssh puedo trabajar de manera grafica?
O sea que cada usuario pueda crear y borrar carpetas y archivos y manipule su informacion, todo en forma grafica.
  #22 (permalink)  
Antiguo 10/11/2005, 15:59
 
Fecha de Ingreso: noviembre-2005
Mensajes: 15
Antigüedad: 18 años, 5 meses
Puntos: 0
Creo q antes de preguntar acerca de ssh grafico tuve q haber echado un ojo a google.
Bueno pero corrigiendo mi error ya lo hice y he aprendido (digo tal vez ya mas de alguno conocia pero yo lo ignoraba) que puedo utilizar fish:// para poder acceder con ssh y de forma grafica.
De hecho como ya tengo creados mis usuarios y sus carpetas con permisos automaticamente me envia al home de cada usuario.
El unico punto es que a diferencia de compartir con samba me permite ver directorios de nivel superior cosa que son samba me restringe.
¿puedo con ssh restringir esto?
  #23 (permalink)  
Antiguo 10/11/2005, 18:19
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 21 años, 9 meses
Puntos: 29
Entonces lo que tu necesitas es un servidor de ftp. He analizado tu problema y lo que se desea por lo que veo es que los usuarios tengan acceso a su carpeta. Creo que es eso ¿no?

Si es asi puedes usar kssh para autenticarte con contraseña y demas o muchos otros front end para ssh, por ejemplo gftp, bueno la lista es larga. El usuario necesita autenticacion y los datos viajan encriptados. Que lio jajjajaja. Era muchisimo mas sencillo de lo que todos creiamos...Claro si es lo que propongo

Saludos
__________________
“Los soñadores no existen, se lo dice un soñador que ha tenido el privilegio de ver realidades que ni siquiera fue capaz de soñar”
  #24 (permalink)  
Antiguo 11/11/2005, 06:40
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 22 años
Puntos: 35
No me parece que FTP sea la mejor solución. FTP es bastante inseguro: las contraseñas viajan en texto plano y existen formas conocidas para entrar sin autorización. SI bien es cierto que algunos servidores de FTP han mejorado en cuanto a seguridad (por ejemplo, vsftpd), también es cierto que FTP nunca será tan seguro como SSH.

¿Cuál es el problema de que el usuario pueda salir de su $HOME? Si los permisos del sistema están correctos, no va a poder causar daño en ninguna parte.

Pero si de todas maneras quieres que el usuario no salga de su $HOME, lee la documentación de SSH. Creo que hay formas de limitar el acceso de los usuarios.
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #25 (permalink)  
Antiguo 11/11/2005, 07:07
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 21 años, 9 meses
Puntos: 29
Bueno yo me refiero al concepto de FTP, o sea transferir archivos mediante el protocolo SSH, creo que no me explique bien pero yo pense lo mismo.


Saludos
__________________
“Los soñadores no existen, se lo dice un soñador que ha tenido el privilegio de ver realidades que ni siquiera fue capaz de soñar”

Última edición por Koveart; 11/11/2005 a las 07:16
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:31.