miércoles, 20 de mayo de 2015

Saber distribución y versión de linux

1. El siguiente comando sirve para saber la distribución del linux y su versión:

$ sudo cat /etc/issue
// ejemplo 1
CentOs release 5.10 (Final)
Kernel \r on an \m

// ejemplo 2
Ubuntu 14.10 \n \l

2. El siguiente comando sirve para saber la arquitectura del servidor:

$ sudo uname -m
// para 64 bits
x86_64 

// para 32 bits
i386
i686

También puede usar el siguiente comando:
$ arch

jueves, 12 de febrero de 2015

Crear, eliminar o modificar usuarios en Linux

Aquí dejo algunos comandos básicos que serán útiles para crear, eliminar y/o modificar usuarios en nuestro sistema Linux.

Crear usuarios
Para crear un usuario usaremos el comando useradd:

$ sudo useradd -g migrupo -G ftp -s /bin/shell -d /home/micarpeta -m usuario_demo

he aquí una pequeña descripción de los parámetros
-d directorio home del usuario
-m crear carpeta home sino existe
-s shell del usuario
-g grupo primario al que pertenece el usuario
-G grupos a los que pertenece también el usuario

Se recomienda que el nombre del usuario lo  manejemos en minúsculas, podemos incluir también números y guiones. Una vez creado el usuario hay que utilizar el comando passwd para agregarle un password al usuario:

$ sudo passwd usuario_demo
Changing password for usuario_demo.
(current) UNIX password: 


Eliminar usuarios
Para eliminar usuarios usaremos el comando userdel:

$ sudo userdel usuario_demo

Este comando es mas sencillo, si queremos que además se borre el contenido de la carpeta home del usuario, hay que agregar el parámetro -r antes del nombre de usuario.


Modificar usuarios
Para modificar usuarios se utiliza el comando usermod:

$ sudo usermod -d /home/nuevacarpeta usuario_demo

los parámetros son parecidos a los de crear un usuario:
-d modificar home del usuario
-s modificar shell del usuario
-g modificar grupo primario al que pertenece el usuario
-G modificar grupos a los que pertenece también el usuario

miércoles, 14 de enero de 2015

Conectar a MySQL de forma remota

En la mayoría de los casos podemos acceder a MySQL a través de la consola o por medio de phpMyAdmin, pero sabemos que algunas funciones están limitadas por este medio, para ello necesitamos acceder a MySQL de forma remota.

Primero tendremos que comprobar que nuestro firewall (cortafuegos) del servidor no este impidiendo la comunicación con el puerto 3306 (normalmente el puerto de MySQL) en caso de ser así tendremos que desactivarlo o en su caso configurarlo adecuadamente para que permita el acceso al puerto.

Bueno una vez dicho esto describiremos los pasos para configurar el MySQL para acceder de forma remota.

1. Primero probaremos el puerto 3306 (normalmente el puerto de MySQL) a través de nuestro cliente:

telnet miip_o_eldominio.xxx.xxx 3306
conectandose a miip_o_eldominio.xxx.xxx...
No se pudo abrir la conexión al host, en puerto 3306: Error en la conexión

Como vemos en el ejemplo no tenemos acceso al puerto, aunque este desactivado el firewall o configurado adecuadamente, si no se permiten conexiones remotas en el MySQL no se podrá acceder.

2. Revisamos nuestro archivo my.cnf, que generalmente se encuentra en /etc/mysql/my.cnf

$ sudo nano /etc/mysql/my.cnf

Verificamos las variables bind-address y skip-networking. Si se encuentra skip-networking y no está comentada, la comentamos para que no tenga efecto y se permitan conexiones externas.

# comentamos esta linea
# skip-networking

Si encontramos bind-address = 127.0.0.1 o bind-address = localhost también hay que editarlo y cambiar el valor por el de la ip externa desde la que se quiera conectar (sólo se permite una), o por 0.0.0.0 para que cualquier dirección se conecte, en este ultimo caso habrá después que filtrarlas por otros medios (firewall o seguridad a nivel de control de acceso).

bind-address=0.0.0.0

3. Guardamos nuestro archivo y reiniciamos el MySQL.

Para Ubuntu, Debian
$ sudo service mysql restart

Para CentOS, Fedora
$ sudo service mysqld restart

4. Realizamos nuestra prueba de Telnet y nos tiene que permitir el acceso al puerto

telnet miip_o_dominio.xxx.xxx 3306
Conectando miip_o_dominio.xxx.xxx
5.5.9.riocp$%=+_:t0mysql_native_password

5. Una vez hecho esto realizamos una prueba de conexión para conectarnos de forma remota a nuestro servidor MySQL (puede realizarse con algún programa cliente), si aun así no es posible conectarse necesita verificar que el usuario ha sido creado correctamente.

Para ello verificamos en la base de datos mysql la tabla users, en el campo host el valor deberá sera la ip desde la cual deseamos conectarnos o en su defecto el % para que permita conectarse desde cualquier ip. Esto lo podemos realizar con la consola del MySQL.

mysql>GRANT ALL PRIVILEGES ON mibase.* to usuario@'%' IDENTIFIED BY 'elpassword';

Para ver mas sobre como crear usuarios checa el siguiente post:
http://mgermano.blogspot.mx/2014/04/crear-y-borrar-usuarios-de-mysql-por.html

viernes, 9 de enero de 2015

Actualizar PHP 5.1 a PHP 5.4 en CentOS 5.9

En este artículo, veremos como actualizar de PHP 5.1 o 5.2 a PHP 5.4, así mismo actualizaremos el MySQL a la versión 5.5.

1. Primero tenemos que instalar los repositorios epel y remi, con la siguiente instrucción:

$ wget http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
$ wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
$ sudo rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm

2. Después tenemos que habilitar el repositorio remi en el siguiente archivo:

$ sudo nano /etc/yum.repos.d/remi.repo

dentro de este archivo tenemos que habilitar en la sección [remi] el repositorio.

enabled = 1

3. Ahora tenemos que actualizar el php

$ sudo yum install php

4. Después de esto tenemos que reiniciar nuestros servicios de Apache y MySQL

$ sudo service httpd restart
$ sudo service mysqld restart

5. En caso de que no tengamos configurado para que nuestros servicios arranquen de inicio, tendremos que habilitarlo, probamos reiniciando nuestro servidor:

# chkconfig --levels 235 httpd on
# chkconfig --levels 235 mysqld on

Por ultimo probamos en nuestro navegador que este actualizada nuestra versión.

viernes, 5 de diciembre de 2014

Mostrar y Revocar privilegios de MySQL

Hace unos días me encontré en la necesidad de revisar que privilegios tenían los usuarios de MySQL, así que me di a la tarea de investigarlo y les comparto una breve guía de como realizarlo.

1. Mostrar privilegios de un usuario
Ingresamos a nuestro servidor MySQL como ya lo hemos hecho anteriormente y solo bastara con escribir el siguiente comando:

mysql> SHOW GRANTS FOR miUser@localhost;

y se nos desplegara la información de los privilegios de este usuario

GRANT USAGE ON *.* TO 'miUser'@'localhost' IDENTIFIED BY PASSWORD '*519FB...'
GRANT SELECT, INSERT, UPDATE, DELETE ON `dbDatos`.* TO 'miUser'@'localhost'
GRANT ALL PRIVILEGES ON `miBase`.* TO 'miUser'@'localhost' 


2. Revocar privilegios
Para revocar privilegios se emplea la función REVOKE, su sintaxis es muy parecida a la de GRANT, he aquí la forma de utilizarla.

mysql> REVOKE ALL ON miBase.* FROM miUser@localhost

Este comando quitara todos los privilegios sobre todos los elementos de la base de datos miBase al usuario miUser.

Con REVOKE se pueden quitar privilegios sobre elementos en particular de las bases de datos. Su sintaxis de acuerdo al manual oficial de MySQL es:

REVOKE
    priv_type [(column_list)]
      [, priv_type [(column_list)]] ...
    ON [object_type] priv_level
    FROM user [, user] ...

Para asignar privilegios y borrar usuarios, puedes consultar el siguiente enlace:
http://mgermano.blogspot.mx/2014/04/crear-y-borrar-usuarios-de-mysql-por.html

Entradas Populares