Foro de elhacker.net

Sistemas Operativos => GNU/Linux => Mensaje iniciado por: aldosn en 23 Septiembre 2010, 02:53 am



Título: ¿ Se puede establecer tamaño de carpetas en Samba?
Publicado por: aldosn en 23 Septiembre 2010, 02:53 am
Adictos a Linux les tengo una consulta: :huh:

Estoy levantando un servidor Samba, en el cual he creado 2 carpetas compartidas: 1.contabilidad y 2. sistemas. El disco duro del servidor es de 320Gb, la pregunta es la siguiente:

¿Puedo definir que la carpeta contabilidad solo tenga un tamaño de 5 Gb como maximo y la de sistemas 10 Gb? Con esto el espacio maximo utilizable de ambas carpetas sería de 15Gb y el espacio en disco restante podia servirme para otra cosa.

Trabajo en Centos 5.3, samba version 4.

Ojo: Si no se pudiera,¿Que solucion alternativa en Linux hay? :-[

Muy Agradecido por su atención. ;-)



Título: Re: ¿ Se puede establecer tamaño de carpetas en Samba?
Publicado por: _Slash_ en 23 Septiembre 2010, 04:45 am
Hola aldosn.

Claro que se puede, busca un poco mas en Google (http://www.google.com)  ;)

Aqui (http://www.orvtech.com/archives/2010/06/25/limitar_el_espacio_de_una_carpeta_sin_usar_cuotas_en_samba/index.html) te dejo un enlace que la verdad no lo he probado pero ya nos contaras si te funciona.

Saludos.


Título: Re: ¿ Se puede establecer tamaño de carpetas en Samba?
Publicado por: orvtech en 23 Septiembre 2010, 16:29 pm
El enlace (http://orvtech.com/howto/limitar-el-espacio-de-una-carpeta-sin-usar-cuotas-en-samba/) que publico _Slash_ si funciona, si necesitas asistencia o tienes dudas dejame saber. pero por lo que tu planteas es preferible dedicar particiones para eso. En tu caso (a diferencia del amigo mio para el que hice ese script) estas recién instalando el server.


Título: Re: ¿ Se puede establecer tamaño de carpetas en Samba?
Publicado por: aldosn en 23 Septiembre 2010, 18:32 pm
El enlace (http://www.orvtech.com/archives/2010/06/25/limitar_el_espacio_de_una_carpeta_sin_usar_cuotas_en_samba/index.html) que publico _Slash_ si funciona, si necesitas asistencia o tienes dudas dejame saber. pero por lo que tu planteas es preferible dedicar particiones para eso. En tu caso (a diferencia del amigo mio para el que hice ese script) estas recién instalando el server.


Muy agradecido a _Slash_ y a orvtech, pero igual me kedan algunas dudas que espero las puedan resolver:


---------------------se crea un archivo de texto con esta estructura--------------------
# cat /tmp/usuarios.txt
maria.perez,5
arnaldo.hernandez,5
gustavo.flores,10
jesus.boss,5
marta.hernandez,5
wilkneman.pascoski,5
tatiana.siu,5
alexandra.delarosa,5
-----------------------------------------------------------------------------------------------

--Se especifica que se llamara el recurso compartido 'alexandra.delarosa',etc------
--¿El path, porq jala del directorio mnt, acaso vamos amontar un disco externo?---
--O ¿se debe de crear en esta ruta una carpeta que se llame 'smb_discs'?----------
--¿Y aparte, una carpeta, alexandra.delarosa,etc?--------------------------------------
[alexandra.delarosa]
   comment = alexandra.delarosa with 5MB
   path = /mnt/smb_discs/alexandra.delarosa
   read only = no
   browseable = yes
   guest ok = yes

[gustavo.flores]
   comment = gustavo.flores with 10MB
   path = /mnt/smb_discs/gustavo.flores
   read only = no
   browseable = yes
   guest ok = yes
-----------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------

LISTAUSUARIOS=`cat /tmp/usuarios.txt|sort`
RUTA_DISCOS="/smb_disks/smb_drives"
MOUNT_SMB="/mnt/smb_discs"
TMPSAMBACONF="/tmp/samba.virt.conf"
echo > $TMPSAMBACONF
mkdir -p `echo $RUTA_DISCOS`
for X in $LISTAUSUARIOS
do echo $X | awk -F , '{print "asignando " $2 "MB a usuario "$1}'
  USUARIO=`echo $X | awk -F , '{print $1}'`
  PRE_ESPACIO=`echo $X | awk -F , '{print $2}'`
  let ESPACIO=`echo $PRE_ESPACIO`*1024
  dd if=/dev/zero of=$RUTA_DISCOS/$USUARIO.img bs=1024 count=$ESPACIO
  /sbin/mke2fs -L $USUARIO -j $RUTA_DISCOS/$USUARIO.img
  mkdir -p $MOUNT_SMB/$USUARIO
  mount -t ext3 $RUTA_DISCOS/$USUARIO.img -o loop $MOUNT_SMB/$USUARIO
  echo "[$USUARIO]
     comment = `echo $USUARIO" with "$PRE_ESPACIO"MB"`
     path = /mnt/smb_discs/$USUARIO
     read only = no
     browseable = yes
     guest ok = yes
   " >> $TMPSAMBACONF
done
echo "espacio usado en $RUTA_DISCOS: "
du -smh $RUTA_DISCOS/*.img
du -smh $RUTA_DISCOS/
mount -l | grep $MOUNT_SMB
echo "CHECK $TMPSAMBACONF AND ADD IT TO YOUR /etc/samba/smb.conf"

--Este codigo lo meto dentro de smb.conf--
--Este codigo esta montando unidades fisicas y/o logicas
--De donde salen estas rutas??????
--RUTA_DISCOS="/smb_disks/smb_drives"
--MOUNT_SMB="/mnt/smb_discs"
--TMPSAMBACONF="/tmp/samba.virt.conf"


Por si no quedo claro, todo lo trabajo en un mismo ordenador de 320gb de disco duro, cuando comparto la carpeta a ciertos usuarios, quiero que esa carperta cuando los usuarios suban archivos no exceda de 1Gb, por ejemplo.

Estuve leyendo, y dijeron q tbm se trabajan por cuotas, en todo caso, si tienen alguna info de como trabajar por cuotas en linux, tbm les agradeceria.

Reitero las gracias!!!.


Título: Re: ¿ Se puede establecer tamaño de carpetas en Samba?
Publicado por: orvtech en 23 Septiembre 2010, 20:32 pm
Se especifica que se llamara el recurso compartido 'alexandra.delarosa',etc
- EL nombre del el archivo que usaremos para montarlo como un filesystem sera ese.

¿El path, porq jala del directorio mnt, acaso vamos amontar un disco externo?
- Por queme parecio apropiado montarlo dentro de /mnt pero si quieres puedes alterlarlo de acuerdo a tus nesecidades

O ¿se debe de crear en esta ruta una carpeta que se llame 'smb_discs'?
SI, si puedes, asegurate de modificar el script

¿Y aparte, una carpeta, alexandra.delarosa,etc?
No hace falta que crees la carpeta, es solo un archivo binario

Este codigo lo meto dentro de smb.conf?
Vas a incluir como parte de tu smb.conf parte del output del script. todo eso esta definido en el articulo original. NO vas a meter el shell script.

Este codigo esta montando unidades fisicas y/o logicas
Logicas


De donde salen estas rutas??????
Estan definidas en el script


Citar
Por si no quedo claro, todo lo trabajo en un mismo ordenador de 320gb de disco duro, cuando comparto la carpeta a ciertos usuarios, quiero que esa carperta cuando los usuarios suban archivos no exceda de 1Gb, por ejemplo.
Queres limitar el tamanho del los archivos a subir? Este script no es para eso, es para limitar la cuota usada por los usuarios sin tener que usar disk quotas.


Citar
Estuve leyendo, y dijeron q tbm se trabajan por cuotas, en todo caso, si tienen alguna info de como trabajar por cuotas en linux, tbm les agradeceria.
De acuerdo a lo que dices tu no nesecitas cuotas... pero si.. si puedes hacerlo es preferible usar disk quotas que usar el script que hice. ese script es para casos puntuales