Seguridad en sistemas operativos

    Respecto a los elementos de los sistemas operativos describiremos las siguientes: ususarios, procesos, memoria y
    ficheros.
 

    Usuarios
 
        Varia según sistemas operativos, si el sistema operativo és multiusuario se requiere de un username y una
        pasword. Cada usuario tiene un identificador y un nombre de usuario que será el username, el identificador és
        un número que va asociado a un único username y este és el que utiliza internamente el ordenador, el username
        és cara al usuario. Un ejemplo seria (nombre, identificador) -- (joseL, 3553)
        La identificación se realiza mediante el username y la autentificación mediante la passeord, que no és el
        identificador.
        La pasword debe ser secreta, solo la debe conocer el usuario, y se aconseja que sea como mínimo de 6 caracteres.
        Hay algunos sistemas que requieren varias paswords.
        Las paswords se guardan en el ordenador pero no deben guardarse a la vista, deben cifrarse, para ello se le aplica
        una funciíon unidireccional ( apartir del texto cifrado és imposible sacar el texto original) como el MD5 y se guardan
        cifradas. Para comprobar si una pasword és la correcta, esta se cifra con el MD% y se comprueba con la password
        cifrada guardada anteriormente, si esta el igual la pasword és correcta, en caso contrario, és incorrecta.
        En el sistema operativo UNIX las paswords se guardan en el fichero /etc/passwd. El contenido de este fichero és el
        siguiente:
 
            usuario:pasword:identificador:gid:nombre y apellidos:direccion home:shell
 
            La pasword se compone de 8 caracteres que se tranforman a 11 cifrados y se añaden 2 más que forman la semilla,
            un total de 13 caracteres.
        En la actualidad, las paswords no se guardan en este fichero, si no en otro llamado /etc/shadow, la pasword en este
        fichero se guarda junto al username y unas variables de fechas de cambio de pasword o de acceso...
 

    Procesos
 
        Cada proceso lleva asodiado un identificador, los identificadores posibles son estos:
            EUID: identificador de usuario efectivo, és del propietario.
            EGID: identificador de grupo efectivo, és del propietario.
            UID: identificador de usuario, és del que ejecuta el proceso.
            GID: identificador de grupo, és del que ejecuta el proceso.
 

    Memoria

        La memoria está dividida en páginas, cada proceso és asignado a una o varias páginas, si hay algun proceso
        asignado a una página que no le corresponde, se produce un error.
 

    Ficheros
 
        Un fichero puede ser compartido por varios usuarios, cada uno de ellos con sus permisos. Existen unas listas de
        control de acceso, llamadas ACL, donde se encontrarán los permisos de cada usuario respecto a un fichero o un
        conjunto de ficheros. Este és el caso del sistema operativo Windows NT, los permisos existentes son:
 
            lectura R
            escritura W
            propietairo O
            borrado D
            ejecución X
 
        En UNIX es distinto, aqui cada fichero tiene permisos para el propietario, grupo y otros y estos perimsos son:
 
            lectura R
            escritura W
            ejecución X

        Tambien hay dos atributos que se describen a continuación y se utilizan encima del permiso de ejecución:
            t: solo deja trabajar si eres el propietario del fichero, un ejemplo:
                en el directorio /temp    rwx rwx rwt    (propietario, grupo, otros)
            s: se aplica a propietario y grupo, solo afecta a ficheros ejecutables y realiza lo siguiente: cuando un proceso con
                atributo s és ejecutado por alguien que no és el propietario, el proceso tiene como UID el identificador del que
                lo ejecuta pero tiene como UIDE el identificador del propietario. Un ejmplo:
                rws r-s --x    (propietario, grupo, otros)
            Aclaración: Si aparece algo como rwS r-S --x (propietario, grupo, otros) és porque hay un error debido al no
                tener permiso de ejecución y llevar el atributo s.
 
        Un ejemplo de utilización del atributo s sería el siguiente:
            En nuestra cuenta de usuario de la UJI para poder cambiar la pasword accedemos al programa passwd, el propietario
            de este programa és el root pero tiene el atributo s, nosotros podemos acceder a él como root para cambiar la
            pasword, pero sólo para eso, en ese momento el UIDE será el 0, perteneciente al root, y el UID será el nuestro.
            rws r-x --x    root    root    /usr/bin/passwd
            Para poder acceder como root todos los del grupo sería:
            r-s r-s r-x    root    root    /bin/sh