Script para montar compartidos windows

19 05 2010

Desde Ubuntu (Linux) es mucho mas dificil montar archivos compartidos desde Windows y mucho mas cuando la version es Windows 7, por su nuevo sistema de compartido.

Para ello me hecho otro Script (si, otro a la lista) utilizando Python (si si me gusta Python para scripts), lo que hice fue envolver el montado del compartido pero esta vez si tener que scribir el password del usuario para conectarse a la vista de todos (eso mal, muy mal 😦 ).


#!/usr/bin/env python

import getpass, getopt, sys, os

__author__ = "Edder Rojas <edder.rojas@gmail.com"
__version__ = "0.2"

class SmbMount():

    def __init__(self, mnt_src, mnt_dest, username, password):
        self.mnt_src = mnt_src
        
        if not os.path.exists(mnt_dest):
            raise IOError("Path doesn't exist")
            
        self.mnt_dest = mnt_dest
        self.username = username
        self.password = password
        self.user = getpass.getuser()
        
    def mount(self):
        command =  "sudo smbmount " 
        command += self.mnt_src + " " 
        command += self.mnt_dest + " "
        command += "-o user=" + self.username + ","
        command += "pass=" + self.password + ","
        command += "uid=" + self.user + ","
        command += "iocharset=utf8"
        
        result = os.system(command)


if __name__ == "__main__":
    args = sys.argv
    if ( len(args) < 4 ):
        print (
                args[0].replace("./", "").split("/")[-1] + " " 
                + __version__
                + " <remote folder> <mount folder> <username>"
               )
    else:
        mnt_src = args[1]
        mnt_dest = args[2]
        username = args[3]
        password = getpass.getpass()
        smbMount = SmbMount(mnt_src, mnt_dest, username, password)
        smbMount.mount()

Basicamente hace de wrapper para smbmount y le da permisos al usuario actual para poder escribir, leer y todo el asunto. Algo a notar es que necesita el comando smbmount, además permisos de Root y por ultimo una carpeta de destino; mi conveción para esto, yo uso la carpeta /media y creo una carpeta con el mismo nombre del maquina a la que me estoy conectado y luego le doy permisos a mi usuario para usarlo:

mkdir /media/WinTarro
chown usuario.grupo /media/WinTarro

Ya con eso se podria usar el comando.

Anuncios

Acciones

Information

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s




A %d blogueros les gusta esto: