Publi

  • Permitir que nuestros usuarios ejecuten tareas controladas en nombre de otro. #SUID #SGID – Con ejemplos y ataques

    Uno de los puntos fuertes de un sistema Unix es su forma de gestionar los privilegios de usuario. Se suele decir que el malware en GNU/Linux sólo afecta al usuario por el que entra (y podrá hacer todo lo que éste pueda hacer), por lo tanto será muy difícil (nada es imposible, y siempre hay bugs) que un programa ejecutado con privilegios de usuario normal afecte al sistema completo.

    Eso sí, otro de los puntos fuertes de un sistema tipo Unix, es que nos deja automatizar absolutamente todo.… Leer artículo completo

  • Introducir el resultado de una consulta SELECT de mysql en un Array [BASH]

    data

    ¡Bash es una pasada! Es capaz de dejarnos hacer maravillas en poco tiempo y de automatizar lo inautomatizable, en este caso, traigo un ejemplo más, de cómo un código muy corto es capaz de presentarnos los resultados de una consulta SELECT de mysql:

    Los datos de prueba provienen de uno de mis proyectos: Málaga Bloguea donde muestro las últimas novedades de blogs de Málaga.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    #!/bin/bash

    OLDIFS=IFS
    MYSQL_USER=#Usuario Mysql
    MYSQL_PASSWORD=#Password Mysql
    MYSQL_HOST="localhost"
    # IFS personalizado, para poder delimitar los campos correctamente
    IFS="`echo -e "\t\n\r\f"`"

    # Declaramos la variable como array, no es estrictamente necesario, pero sí un poco más correcto
    declare -a IPS

    # Generamos la consulta (Si vamos a utilizar un juego de caracteres determinado, como
    # UTF8, debemos especificar primero para evitar sorpresas.
    Leer artículo completo
  • Bucles for en BASH

    loooop

    No por ser un lenguaje de script enfocado a la línea de comando vamos a dejar de poder hacer un bucle. Es más, si los archivos batch pueden, estos scripts no van a ser menos. Es común ver un bucle for en bash de este modo:

    1
    2
    3
    4
    for i in $lista;
    do
       echo $i;
    done

    Donde lista puede ser:

    lista=»Una serie de cosas separadas por un espacio normalmente.

    Leer artículo completo