"Repoesteo" aquí una aportación mía en otro foro
Tengo un disco duro con dos particiones, el router por defecto monta ambas particiones pero solo comparte por samba la primera. Dado que el grueso de datos está en la segunda partición, esta es la solución en forma de script para linux usando la herramienta expect.
Espero que os sea útil y claro, abierto a mejoras y críticas.
#!/usr/bin/expect
#Referencias
#objectmix.com/tcl/376951-expect-suppress…-screen.html
#trizsolo.wordpress.com/2008/01/07/expect…-resolvconf/
#stackoverflow.com/questions/7789710/expe…telnet-login
#miguel-fdez.blogspot.com/2011/12/setting…-router.html
#Variables
set timeout 20
set ip [lindex $argv 0]
set user [lindex $argv 1]
set pass [lindex $argv 2]
#Conexion
spawn telnet $ip
expect "Login:" { send "$user\r"}
expect "Password:" { send "$pass\r"}
expect "VFAU0000031572>" { send "sh\r"}
#Matamos proceso samba
expect "#" { send "killall smbd\r"}
#Silenciamos la salida para no ver tanta linea de creación del smb.conf
log_user 0
#Creamos el smb.conf a nuestro gusto
expect "#" { send "mv /etc/samba/smb.conf /etc/samba/smb.bak\r"}
expect "#" { send "echo \[Global]\ > /etc/samba/smb.conf\r"}
expect "#" { send "echo \workgroup = vodafone\ >> /etc/samba/smb.conf\r"}
expect "#" { send "echo \netbios name = vodafone\ >> /etc/samba/smb.conf\r"}
expect "#" { send "echo \server string = vodafone\ >> /etc/samba/smb.conf\r"}
expect "#" { send "echo \security = share\ >> /etc/samba/smb.conf\r"}
expect "#" { send "echo \\ >> /etc/samba/smb.conf\r"}
expect "#" { send "echo \[CucurTB]\ >> /etc/samba/smb.conf\r"}
expect "#" { send "echo \path = /var/mnt/USBDisk_2/ >> /etc/samba/smb.conf\r"}
expect "#" { send "echo \comment = cucurTB\ >> /etc/samba/smb.conf\r"}
expect "#" { send "echo \browseable = yes\ >> /etc/samba/smb.conf\r"}
expect "#" { send "echo \public = yes\ >> /etc/samba/smb.conf\r"}
expect "#" { send "echo \writable = yes\ >> /etc/samba/smb.conf\r"}
expect "#" { send "echo \guest ok = yes\ >> /etc/samba/smb.conf\r"}
#Reinicio de Samba
expect "#" { send "/bin/smbd -D\r"}
#Recuperamos la salida
log_user 1
#Desconexion
expect "#" { send "exit\r"}
expect "VFAU0000031572>" { send "logout\r"}