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.

Advertisement

Acciones

Información

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s




Seguir

Get every new post delivered to your Inbox.