LinuxParty
NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Hace poco me consultaron si se podía limitar el espacio de una carpeta
Samba (samba share) sin tener control de usuarios es decir hay una
carpeta por usuario que esta a su vez es ‘mapeada’ a su estación de
trabajo (que corre windows) pero todos los usuarios usan el mismo
usuario y el mismo password para acceder cada una de sus carpetas. La
pregunta me dejo cabezón, yo nunca trabaje con Samba pero se que debe de
haber forma de hacer esto. Por ahora me dispuse a crear un script que
le ayudara. El script lee un archivo de texto separado por comas el cual tiene
dos columnas una para el nombre del usuario y la cantidad de Megabytes
que se le va a asignar a cada usuario. Usando el comando dd el script
crear archivos que son formateados como EXT3 y seguidamente los monta.
El archivo de texto plano luce así:
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 |
Aparte de crear, formatear y montar estos archivos el script también crea la configuración base que se le va a anexar a al smb.conf con el siguiente formato para cada usuario:
[alexandra.delarosa] comment = alexandra.delarosa with 5MB path = /mnt/smb_discs/alexandra.delarosa read only = no browseable = yes guest ok = yes [arnaldo.hernandez] comment = arnaldo.hernandez with 5MB path = /mnt/smb_discs/arnaldo.hernandez 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 |
Luego seria cuestión de retocar el /etc/Samba/smb.conf y reiniciar el servicio, re-mapear esto Samba share a los usuarios y listo.
Aquí esta el script:
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" |
Como mencione anteriormente, yo nunca he trabajado con Samba en ambiente de producción yo practique o jugué un poco con Samba hace unos 5 años. este script no incluye configuraciones para estos Samba shares que proporcionen algo de seguridad. Si alguien tiene sugerencias pueden dejarlas en los comentarios.
vía Limitar el espacio de una carpeta sin usar cuotas en Samba. | Linux y el NSLU2.
-
Samba
- Un cliente Samba Web, en un servidor Web para todos los ordenadores de una LAN
- Cómo configurar el servidor Samba en RHEL, Rocky Linux y AlmaLinux
- 8 formas de montar SMBfs (SISTEMA DE ARCHIVOS SAMBA) en Linux.
- Cómo navegar Samba o Windows compartido, de forma remota, finalmente segura.
- Montar recursos con smbclient en Linux para SAMBA
- Cliente Web para SAMBA con: smbwebclient.php
- Sencillo Ejemplo de Configuración para Servidor Samba Linux
- Ejemplo Configuración Servidor Samba.
- Samba: Cómo compartir archivos en tu LAN
- Servidor de Archivos Samba con SWAT en Fedora.
- Ubuntu Linux 10.10: Servidor Samba independiente con tdbsam Backend
- SAMBA en un Controlador de Dominio. Mini-COMO (Linux)
- Seguridad en Samba, con un firewall iptables en Linux
- Servidor Samba independiente CentOS 6.3 con Backend tdbsam
- Samba 4.0 lanzado: el primer servidor de Active Directory compatible con el Software Libre y Linux