sábado, 8 de diciembre de 2012

FireFox y Themes oscuros.

Seguramente si instalaron recientemente alguna distribución de Linux y le agregaron algún Theme (Tema) oscuro, habrán notado que el Firefox muestra la web de forma erronea.

Uno de los síntomas es que los textbox aparezcan blancos y la tipografía también del mismo color, haciendo imposible la escritura/lectura.
Incluso se ven mal los radiobutton, casilleros, etc...

Para solucionarlo debemos abrir la consola, copiar y pegar el siguiente comando:


mkdir ~/.mozilla/firefox/*.default/chrome
cat > ~/.mozilla/firefox/*.default/chrome/userContent.css
input {
border: 2px inset white;
background-color: white;
color: black;
-moz-appearance: none !important;
}

textarea {
border: 2px inset white;
background-color: white;
color: black;
-moz-appearance: none !important;
}

select {
border: 2px inset white;
background-color: white;
color: black;
-moz-appearance: none !important;
}

input[type="radio"],
input[type="checkbox"] {
border: 2px inset white ! important;
background-color: white ! important;
color: ThreeDFace ! important;
-moz-appearance: none !important;
}

*|*::-moz-radio {
background-color: white;
-moz-appearance: none !important;
}

button,
input[type="reset"],
input[type="button"],
input[type="submit"] {
border: 2px outset white;
background-color: #eeeeee;
color: black;
-moz-appearance: none !important;
}

body {
background-color: white;
color: black;
display: block;
margin: 8px;
-moz-appearance: none !important;
}



Presionamos control + C, reiniciamos el Firefox y listo!

El Firefox tendrá los colores normales  (:

Si recien comienzan en Linux, pueden descargarse el script que hará esto automáticamente, lo descargan desde ACA.

Lo guardan en cualquier lado, y luego desde la terminal lo ejecutan escribiendo su nombre, previo a darle permiso de ejecución:
chmod +x FirefoxDefault.sh
./FirefoxDefault.sh

martes, 30 de octubre de 2012

Repositorios de CentOS5 en RHEL5. Red Hat gratuito!

Para aquellas personas que no renovaron la licencia de Red Hat Enterprise Linux (RHEL), o simplemente no quieran pagar, existe un "workaround" para poder actualizarlo, y no es mas complicado que agregar los repositorios de CentOS (hermano menor de RedHat).

Si vez instalaste instalaste esta distribución, debés saber que para poder actualizar el sistema o usar la función "yum", necesitás una cuenta en los servidores de Red Hat Network (RHN), o bien utilizar tu propio Satellite que también lleva licencia.


Si recién lo están instalando, les va a pedir un serial. Pueden usar alguna de las siguientes RHEL5 Keys:
SERVER:
 * Red Hat Enterprise Linux (Server - incluye virtualizacion):
2515dd4e215225dd

+ Red Hat Enterprise Linux Plataforma de Virtualizacion:
49af89414d147589

CLIENTE:
* Red Hat Enterprise Linux Desktop:
660266e267419c67

+ Red Hat Enterprise Linux Desktop + Opciones de Workstation:
da3122afdb7edd23

+ Red Hat Enterprise Linux Desktop + Workstation + la opción DualOS (Virtualizacion):
7fcc43557e9bbc42

+ Red Hat Enterprise Linux Desktop + DualOS Option (Virtualizacion):
fed67649ff918c77


Una vez instalado, lo primero que se debe hacer si no se tiene licencia, es eliminar el PLUGIN de RHN, para ello ejecutamos el comando:
  rpm -e yum-rhn-plugin  

El siguiente paso consiste en editar el fichero rhel-debuginfo.repo, que es el que contiene información sobre los repositorios. Podemos usar cualquier editor de texto como GEDIT, NANO, VI, etc... en este caso uso el GEDIT que es el mas simple para principiantes:
  gedit /etc/yum.repos.d/rhel-debuginfo.repo 

Ahi debemos eliminar todo el contenido y agregar el siguiente:

[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever – $basearch – Debug
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[base]
name=CentOS-5 – Base
mirrorlist=http://mirrorlist.centos.org/?release=5&arch=i386&repo=os
#baseurl=http://mirror.centos.org/centos/5/os/i386/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#released updates
[updates]
name=CentOS-5 – Updates
mirrorlist=http://mirrorlist.centos.org/?release=5&arch=i386&repo=updates
#baseurl=http://mirror.centos.org/centos/centos/5/os/i386/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#packages used/produced in the build but not released
[addons]
name=CentOS-5 – Addons
mirrorlist=http://mirrorlist.centos.org/?release=5&arch=i386&repo=addons
#baseurl=http://mirror.centos.org/centos/centos/5/os/i386/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful
[extras]
name=CentOS-5 – Extras
mirrorlist=http://mirrorlist.centos.org/?release=5&arch=i386&repo=extras
#baseurl=http://mirror.centos.org/centos/centos/5/os/i386/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-5 – Plus
mirrorlist=http://mirrorlist.centos.org/?release=5&arch=i386&repo=centosplus
#baseurl=http://mirror.centos.org/centos/centos/5/os/i386/
gpgcheck=1
enabled=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5


Luego guardar los cambios hechos, y salir del editor.

Finalmente escribir en la consola:
  yum update 

Y podrás utilizar nuevamente la función "  yum install AAA  " (donde AAA es el nombre del paquete que se quiera instalar) o bien "  yum search AAA  " (donde AAA es el nombre del paquete a buscar).



** IMPORTANTE ** 
Todos los comandos deben ejecutarse como SUPER USUARIO.. ya sea escribiendo en la consola:
  su 
Para utilizar el usuario root, o escribiendo:
  sudo XXXX   (donde XXXX es el comando que queremos ejecutar como super usuario.

Para esto último, nuestro usuario debe estar dentro del fichero "SUDOERS", para agregarlo escribimos estos comandos:
  su                                                  
  cat >> /etc/sudoers                      
  USUARIO ALL=(ALL)       ALL

y apretan CONTROL + C para terminar el proceso.

Remplacen USUARIO por su propio usuario y listo!

sábado, 2 de julio de 2011

Massive FaceBook Invites!


No sé si será por cuestiones de privacidad, para evitar el spam o porque simplemente no quisieron poner un botón, pero resulta extramandamente denso tener que seleccionar a TODOS tus "amigos" uno por uno, por ejemplo, en una invitación a una web, en una encuesta, o lo que sea.

Para seleccionar todos a la vez, cuando se abra la ventana de selección de "amigos", pegar lo siguiente en la barra de direcciones y darle al Enter:

javascript:function check_all_in_document(doc){var c=new Array();c=doc.getElementsByTagName('input');for(var i=0;i<c.length;i++){if(c[i].type=='checkbox'){c[i].click();}}}check_all_in_document(window.document);for(var j=0;j<window.frames.length;j++){check_all_in_document(window.frames[j].document);}

Esto selecciona a todos con tan solo un Enter!

También existe un complemento de GreaseMonkey para FireFox que cumple la misma función, se descarga de: http://userscripts.org/scripts/show/43682
Hace otras cosas interesantes el Script, asi que se los recomiendo.

viernes, 1 de julio de 2011

Security Translation

En una migración de dominio la herramienta ADMT (Active Directory Migration Tool) es indispensable.

No obstante, en algunas situaciones se torna un tanto tosca y poco versatil.

Por ejemplo, si estamos corriendo un Security Translation a X cantidad de equipos, y surge un nuevo equipo, no se lo puede agregar hasta que termine la primer tanda (podés probarlo, lo mas probable es que se cierren ambos módulos y que el Security no corra en ninguna PC).

Por suerte tenemos nuestra amiga la consola! Y sus batchs... podemos armar tantos batchs como queramos, y correr el Security tantas veces sea necesario, incluso en paralelo.

Para ello simplemente se debe escribir un CMD o un Bat con el siguiente código:

ADMT security /n NOMBRE_DE_EQUIPO /sourcedomain:DOMINIO-VIEJO /targetdomain:DOMINIO-NUEVO /translationoption:add /translatefilesandfolders:yes /translatelocalgroups:no /translateprinters:yes /translateregistry:yes /translateshares:yes /translateuserprofiles:yes /translateuserrights:no /autoprecheckretry:yes /autoprecheckretryinterval:1 /autoprecheckretrynumber:3
pause

A tener en cuenta:
  • Se debe remplazar NOMBRE_DE_EQUIPO por el nombre de equipo. Se pueden especificar la cantidad de equipos que fuese necesaria,
  • En el atributo "/sourcedomain" se debe especificar el dominio del cual estamos migrando el equipo.
  • El atributo "/targetdomain" responde al dominio al cual migramos.
  • Los demás valores (como el autoPrecheckRetryNumber, y qué es lo que traduce, se pueden modificar a gusto.
IMPORTARTE:
Cada Security Translation pesa mucho en memoria! No correr en más de 50 equipos a la vez o se cuelga el módulo. (obviamente depende de las características del server, pero es mejor no ponerlo a prueba y asegurarse una correcta migración)

jueves, 30 de junio de 2011

Reinicio remoto

Con el objeto de reiniciar muchas máquinas dentro de un mismo dominio (asumiendo que se tiene el permiso de administrador sobre dichos equipos), se debe armar un script (en .bat o .cmd) con el famoso comando de D.O.S.: "Shutdown".

Se lo puede personalizar para que envíe un mensaje, e incluso para que reinicie el equipo en X cantidad de tiempo.

Para tal efecto, el script lo tengo armado en dos partes, la primera llamada "Reboot ALL Computers 30 min.cmd" con el siguiente script:

@For /F "tokens=1" %%a in (Equipos.txt) do start Reboot30m.cmd %%a

Lo que hace es levantar los equipos de un documento de texto bajo el nombre de "Equipos.txt" (un equipo por linea!), y asignarle la variable "%%a", para luego ejecutar otro CMD.

El siguiente CMD, al que llama el primero, tiene el nombre de "Reboot30m.cmd", y contiene las siguientes lineas:

Shutdown -r -f -m %1 -t 1800 -c "Tenga en cuenta que en 30 minutos el equipo se reiniciara. Guarde todos sus datos!"
Exit

El atributo "-r" hace que el equipo se reinicie, a su vez el "-f" hace que sea forzado (es decir, no espera a que se cierren o guarden las cosas, por ello el mensajito!).
-m es la máquina remota, que la topa de la variable que definimos anteriormente.
-t es el tiempo en segundos, y por último -c es el mensaje a mostrar en la máquina cliente a reiniciar.

miércoles, 29 de junio de 2011

Crear objetos en dominio

A veces se da la situación de que tenemos que crear varios objetos en un dominio, y si además tenés que aplicarle algún GPO el proceso se vuelve tedioso.

Para ello existen los batchs! Que automatizan todo el proceso.


Simplemente armar un .txt y luego cambiarle la extensión a .bat o .cmd y pegar lo siguiente:

set varOU=CAPBA
for /f "tokens=1" %%c in (equiposCrear.txt) do (dsadd computer "CN=%%c,OU=%varOU%,OU=Buenos Aires,OU=Argentina,OU=Clientes-Estandares,OU=CLIENTES,DC=grupo,DC=DOMINIO,DC=com" -memberof "CN=GPO_NO-APLICA-EXPROFE,OU=Appl,OU=Aplicaciones,OU=GRUPOS,DC=grupo,DC=DOMINIO,DC=cOM" -d DOMINIO)

Donde dice "set varOU=CAPBA" se debe remplazar por la OU que desean agregar el equipo.
Todo lo que precede a "-memberof" es el GPO al que queremos que un equipo pertenezca.

Los equipos se deben tirar en un .txt bajo el nombre de "equiposCrear.txt", el documento de texto debe contener un equipo por linea para que funcione correctamente el script.

Se debe modificar el script, logicamente, con los datos del dominio (en este caso: GRUPO.DOMINIO.COM ; que es igual a CN=grupo,CN=DOMINIO,CN=com)

martes, 28 de junio de 2011

Registro de DNS

Siguiendo el hilo del post anterior, también se puede saber el domino de un equipo consultando cual es el DNS en el que se registra.

Para saber en qué dominio un equipo está registrando los DNS, basta con escribir:

nslookup NOMBRE_DE_EQUIPO

 Si se quisiera realizar de forma automatizada, se debe armar un batch (.BAT o .CMD) con lo siguiente:

@echo off
for /f %%a in (C:\Script\lista.txt) do call :process %%a
goto :eof
:process
set srv=%1
for /f "tokens=2" %%b in ('nslookup %srv%^|find /i "Name"') do echo %srv% dominio  %%b >> C:\Script\nslookup_results.txt

 Este batch exportará la información que el comando NSLOOKUP consiga de los equipos dentro del archivo "lista.txt" y la plasmará en un txt llamado "nslookup_results.txt".

El resultado sería algo así:

S409623 dominio  S409623.mi.dominio.com