Montar arquivos .iso automaticamente no samba, é so jogar os arquios .iso em um determinada paste, o samba vai vasculhar, e vai montar em outro diretório compartilhado a imagem.
vim /etc/samba/smb.conf
// aqui vai ser jogado todos os arquivos .iso
[ISO-HOME]
path = /var/samba/manutencao/iso-home
admin users = restrito
valid users = restrito
writable = yes
force create mode = 0777
force directory mode = 0777
public = yes
// aqui vai ser o ponto de acesso de todos os arquivos montados na parte de cima.
[Unidades-Virtuais]
path = /var/samba/unidades
admin users = restrito
valid users = restrito
public = yes
read only = Yes
browseable = Yes
root preexec = /bin/isomount mount
vim /bin/isomount
#!/bin/bash
#local onde ficam os arquivos.iso
ISODIR="/var/samba/manutencao/iso-home"
#local onde vao ser montados as imagens
MNTDIR="/var/samba/unidades"
case $1 in
mount)
# Check first
mnted=`mount | grep iso | awk '{print $1}'`
for cd in $mnted; do
if [ ! -e "$cd" ]; then
echo -n "Umounting $cd..."
umount -f $cd
test $? -eq 0 && echo "OK"
name=`basename $cd`
name="`echo $name | cut -f1 -d.`"
test -d $MNTDIR/$name && rmdir $MNTDIR/$name
fi
done
if [ -e "$ISODIR/$2" ] && [ "$2" ]; then
name="`echo $2 | cut -f1 -d.`"
if [ -z "`echo $mnted | grep $2`" ]; then
echo -n "Mounting $name: "
test -d $MNTDIR/$name || mkdir $MNTDIR/$name
mount -t iso9660 -o loop,ro $ISODIR/$2 $MNTDIR/$name
test $? -eq 0 && echo "OK"
fi
elif [ -z "$2" ]; then
for iso in `ls $ISODIR/*.iso`; do
name=`basename $iso`
name="`echo $name | cut -f1 -d.`"
if [ -z "`echo $mnted | grep $iso`" ]; then
echo -n "Mounting `basename $iso`: "
test -d $MNTDIR/$name || mkdir $MNTDIR/$name
mount -t iso9660 -o loop,ro $iso $MNTDIR/$name
test $? -eq 0 && echo "OK"
fi
done
fi
;;
umount)
if [ -e "$ISODIR/$2" ] && [ "$2" ]; then
name="`echo $2 | cut -f1 -d.`"
if [ "`mount | grep $MNTDIR/$name`" ]; then
echo -n "Umounting $name: "
umount $MNTDIR/$name
test $? -eq 0 && echo "OK"
test -d $MNTDIR/$name && rmdir $MNTDIR/$name
fi
elif [ -z "$2" ]; then
for iso in `ls -1 $ISODIR/*.iso`; do
name=`basename $iso`
name="`echo $name | cut -f1 -d.`"
if [ "`mount | grep $MNTDIR/$name`" ]; then
echo -n "Umounting `basename $iso`: "
umount $MNTDIR/$name
test $? -eq 0 && echo "OK"
fi
test -d $MNTDIR/$name && rmdir $MNTDIR/$name
done
fi
;;
*)
echo "Usage: $0 {mount|umount}"
;;
esac
exit 0
Feito isso chmod +x /bin/isomount
/etc/init.d/smb restart
E bom proveito.
Créditos do script http://www.vivaolinux.com.br/perfil/verPerfil.php?login=allangood
Abraços Marcos Carraro
OBS 15:04 :. Não cole os arquivos.iso com nomes separados por espaço " ", crie nomes simples como programa_do_desenvolvimento_Y_X_D.iso
OBS 15:04 :. Não cole os arquivos.iso com nomes separados por espaço " ", crie nomes simples como programa_do_desenvolvimento_Y_X_D.iso
Nenhum comentário:
Postar um comentário