martes, 31 de agosto de 2010

Enlaces simbólicos en Windows: Junction NTFS


Hola,

Seguramente muchos no conocéis esto:

Junction NTFS

Un punto junction equivale a un Enlace simbólico de los sistemas UNIX. (NTFS junction point -JP) es una característica del sistema de archivos NTFS en su versión 3.0 o posterior. Los"Junction Points" se pueden usar de una manera similar a los enlaces simbólicos, permitiendo la creación de un enlace a un directorio que es casi lo mismo que el directorio mismo. El uso de "junctions" es más transparente que el uso de un "acceso directo" o fichero (.lnk). El acceso directo nos envía al directorio de destino mientras que el enlace simbólico nos muestra el contenido del directorio de destino como si estuvieran en este...
Los puntos junction pueden enlazar solamente a directorios y en concreto, a directorios locales; no se pueden crear junction points a directorios remotos compartidos.


Son muy útiles, por ejemplo:

Tengo un disco duro externo pequeñito de 2,5’’ (W:) en el que tengo dos carpetas: w:\Tools2 y w:\Isos. Resulta que la carpeta Tools2 la tengo compartida pero Isos NO, así que cuando accedo a través de la red no puedo coger cosas de Isos.

Voy a crear un junction en Tools2 para la carpeta Isos.

Ejecuto cmd.exe como administrador:


Y hago:



   
El modificador –s es para que coja también los subdirectorios de w:\isos

Ahora siempre que accedo a tools2 tengo un acceso a isos.


  
También lo uso para evitarme un montón de clics, por ejemplo en Mis Documentos me creo enlaces a otras carpetas, etc…

Es un ejecutable de 40KB que os podéis descargar de: http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx

Os recomiendo copiarlo dentro de %SystemRoot%\system32 y así lo tenéis siempre disponible.

David Leonor.

sábado, 21 de agosto de 2010

Resetear contraseñas en Ubuntu 10.04 sin conocer ningún usuario del sistema

Para demostrar que la seguridad depende siempre del acceso que tengamos al ordenador voy a contaros como cambiar una contraseña de un usuario sin tener que saber ninguna contraseña. El comando que usaremos es

passwd [usuario]

Claro para poder cambiar la contraseña de otro usuario necesito ser administrador (root). Pero en Ubuntu 10.04 abrir una consola como root es un procedimiento muy sencillo, tan solo hay que pulsar la tecla shift (anteriromente Esc) para que nos muestre el menú del grub y seleccionar el modo recuperación


Aparece un menú y seleccionamos la última opción:


Ahora nos aparece el símbolo del sistema en modo root #_

Ya podemos cambiar la password de cualquier usuario usando el comando passwd ;-)

Si  queremos crear un usuario capaz de elevar a root haremos:

adduser pepe
addgroup  pepe admin

Ahora el nuevo usuario "pepe" pertenece al grupo admin, así que podemos iniciar sesión con él en modo gráfico y realizar cualquier cosa!

Os dejo un vídeo del proceso:

http://www.youtube.com/watch?v=VZB6yJCSrYE

Saludos.

Cambiar la configuración IP en Windows usando netsh

Para los que nos movemos con el portátil, resulta molesto cambiar los parámetros de la red cada poco desde la interfaz gráfica. Hace tiempo, ya lo usaba con XP, que programé un pequeño script usando el monstruoso comando (se puede hacer de todo) netsh de Windows, no tenéis más que ver la ayuda netsh /? Para más coña, la sintaxis del comando netsh cambia de XP a Vista, así que os dejo dos versiones.

Para XP usaríamos este código. Copiarlo y guardarlo en un fichero: changeip.cmd o changeip.bat

@echo off
rem Comprobación de parámetros
if [%1==[ goto ayuda
if "%2"=="-dhcp" goto dhcp
if [%2==[ goto ayuda

if [%3==[ goto ayuda
if [%4==[ goto ayuda


rem si llego aquí salto a la configuracion
goto configura

rem Cuando no pasan los parámetros necesarios muestro una ayuda
:ayuda
cls
echo.
echo Version Windows XP
echo.
echo Cambia los parametros IP del adaptador indicado
echo.
echo Modo 1 (direccion estatica)
echo ------------------------------
echo.
echo Parametro 1: (en minusculas): nombre de la conexion si tiene espacios, entre comillas "conexion local 1"
echo.
echo Parametro 2: direccion IP
echo.
echo Parametro 3: la mascara de red (255.255.255.0)
echo.
echo Parametro 4: la puerta de enlace
echo.
echo Parametro 5: (opcional): el DNS
echo.
echo Ejemplo de uso:
echo.
echo sin DNS:
echo.
echo changeip "conexion local 1" 192.168.1.11 255.255.255.0 192.168.1.254
echo.

echo.
echo con DNS:
echo.
echo changeip "conexion local 1" 192.168.1.11 255.255.255.0 192.168.1.254 194.224.52.4

echo.
echo.
echo Modo 2 (modo automatico DHCP)
echo -----------------
echo Parametro 1: igual que en Modo 1.
echo.
echo Parametro 2: -dhcp
echo.
echo Parametro 3: (opcional): el DNS
echo.
echo Ejemplo de uso:
echo.
echo sin DNS, todo en obtener: changeip -dhcp
echo.
echo con DNS: changeip -dhcp 194.224.52.4

goto fin

rem Pongo la configuración

:configura
netsh interface ip set address name=%1 static %2 %3 %4 1
goto dns

:dhcp
netsh interface ip set address name=%1 dhcp

:dns
rem Configuración DNS
if [%5==[ goto fin
netsh interface ip set dns name=%1 static %5

goto fin

:fin


 

La versión para Vista (no he probado en Windows 7 pero debería funcionar):

@echo off
rem Comprobación de parámetros
if [%1==[ goto ayuda
if "%2"=="-dhcp" goto dhcp
if [%2==[ goto ayuda
if [%3==[ goto ayuda
if [%4==[ goto ayuda


rem si llego aquí salto a la configuracion
goto configura

rem Cuando no pasan los parámetros necesarios muestro una ayuda
:ayuda
cls
echo.
echo Cambia los parametros IP del adaptador indicado
echo.
echo Modo 1 (direccion estatica)
echo ------------------------------
echo.
echo Parametro 1: (en minusculas): nombre de la conexion si tiene espacios, entre comillas "conexion local 1"
echo.
echo Parametro 2: direccion IP
echo.
echo Parametro 3: la mascara de red (255.255.255.0)
echo.
echo Parametro 4: la puerta de enlace
echo.
echo Parametro 5: (opcional): el DNS
echo.
echo Ejemplo de uso:
echo.
echo sin DNS:
echo.
echo changeip "conexion local 1" 192.168.1.11 255.255.255.0 192.168.1.254
echo.
echo con DNS:
echo.
echo changeip "conexion local 1" 192.168.1.11 255.255.255.0 192.168.1.254 194.224.52.4

echo.
echo.
echo Modo 2 (modo automatico DHCP)
echo -----------------
echo Parametro 1: (en minusculas): wifi o cableada
echo.
echo Parametro 2: -dhcp
echo.
echo Parametro 3: (opcional): el DNS
echo.
echo Ejemplo de uso:
echo.
echo sin DNS, todo en obtener: changeip -dhcp
echo.
echo con DNS: changeip -dhcp 194.224.52.4

goto fin

rem Pongo la configuración

:configura
netsh interface ipv4 set address name=%1 static %2 %3 %4
goto dns

:dhcp
netsh interface ipv4 set address name=%1 dhcp

:dns
rem Configuración DNS
if [%5==[ goto fin
netsh interface ipv4 set dnsserver name=%1 static %5

goto fin

:fin


 
 
Copiar el fichero que corresponda (según el sistema que tengáis) a  
%systemroot%\system32 y a partir de ese momento podéis usar el script.

Ejecutar changeip para obtener ayuda.

Para los más vagos podemos crear un fichero .bat o .cmd, por ejemplo: esto configura la conexión “cableada” con la ip 192.168.2.33 mask 255.255.255.0, gateway: 192.168.2.1 y DNS: 194.224.52.4

%systemdrive%

cd %systemroot%\system32

changeip "cableada" 192.168.2.33 255.255.255.0 192.168.2.1 194.224.52.4

Las dos primeras línea no son necesarias, pero tampoco están de más ;-)

Otro ejemplo de uso, configurar la conexión wifi con configuración automática, DHCP:

                changeip “wifi” –dhcp

Yo tengo unas cuantas ;-)



Os recomiendo renombrar vuestras conexiones de red para identificarlas de manera más clara y sin acentos, que suelen darnos problemas.


A mi me ahorra un montón de trabajo ;-)

jueves, 19 de agosto de 2010

Comandos Windows de interés y no tan conocidos

Hola,

En Windows estamos más acostumbrados que en Linux a utilizar la interfaz gráfica para realizar cualquier operación, pero cuando nos enfrentamos a tareas repetitivas y utilizamos el entorno gráfico, confirmamos que no siempre es útil ;-(

Así que os voy a mostrar algunos de los comandos que uso con cierta asiduidad y que pienso que no son muy conocidos.

En Windows a pesar de ser Administradores podemos encontrarnos con archivos en los cuales no tenemos permisos... así que si queremos, por ejemplo borrarlos, debemos primero tomar posesión y luego darnos permisos. Cuando queremos tomar posesión de más de un fichero no lo podemos hacer directamente desde la interfaz de Windows, así que tenemos un comando takeown (tomar propiedad) que se encarga del trabajo duro ;-)

Si hacemos:

takeown /F    c:\datos\mifichero.txt   /A 

Cambiamos el propietario del fichero  c:\datos\mifichero.txt  al grupo administradores.

Ahora que el propietario es el grupo de administradores, desde una cuenta que pertenezca al gupo administradores nos podemos dar control total usando el comando icacls:

icacls   c:\datos\mifichero.txt    /grant   Administrador:F

Asignamos Full Control al usuario Administrador sobre el fichero  c:\datos\mifichero.txt

Ahora podríamos, por ejemplo, borrarlo, renombrarlo, etc...

Para parar un servicio utilizamos el comando:

net stop NOMBRE_DEL_SERVICIO

Pero ¿cuál es el nombre de un servicio? Ejecuta services.msc y localiza el servicio que quieres detener. Ahora dale doble clic y mira aquí:


Ahora ya sabes: net stop LanmanServer 

Para arrancarlo: net start LanmanServer

Pero si lo que buscamos es deshabilitar un servicio mediante la línea de comando usaremos el comando sc:

 sc  config   LanmanServer   start= disabled

 Ojo que entre = y disable hay un espacio que es necesario!

El nombre del servicio a usar con sc es el KeyName que podemos obtener mediante el ServiceDisplayName y el comando:

sc   getkeyname    "ServiceDisplayName"



Espero que sean de vuestro interés. Para saber más sobre los comandos comentados tenéis que mirar la ayuda ;-))

Agradezco cualquier aportación sobre el tema, ya sabes ese comando que tanto te costó encontrar...

Un saludo.

martes, 3 de agosto de 2010

Convertir un disco duro externo USB 2.0 en USB 3.0

Hola,

Tenía un disco duro Iomega con interfaz USB 2.0 modelo prestige 500GB. Mi portátil tiene ya dos años y como es natural no tiene soporte USB 3.0, así que la única forma de vitaminarlo con USB 3.0 sería a través de una tarjeta ExpressCard.

Me puse a buscar y rápido encontré unos cuantos modelos, todos con características similares: Chip NEC, 2 puertos USB 3.0 en una tarjeta ExpressCard de 34mm. Al final me compré una marca Sharkoon Express Card 2Port USB 3.0.



Tras instalar el driver que venía en el miniCD, la tarjeta se puso a funcionar sin problemas en Windows 7 (64 bits).

También compré una caja externa de 2,5'' con soporte USB 3.0 modelo Sharkoon quickstore portable Usb 3.0 cuyo aspecto es muy atractivo:



Ahora tocaba lo más fácil, quitar los dos tornillos de la caja Iomega, sacar el disco duro de 500GB modelo Seagate ST9500325AS e instalarlo en la caja Sharkoon, que por cierto no lleva tornillos ;-) lo que facilita la operación.

Cuando el disco duro funciona con USB 2.0, es la propia interfaz la que limita el rendimiento. Aquí tenéis los resultados:


Pero con USB 3.0 explotamos por completo las posibilidades del disco:




El resultado es el esperado ;-) el coste de la tarjeta ExpressCard y de la Caja USB 3.0 es de 56€.