jueves, 12 de marzo de 2015

DIA CIENTO OCHENTA 12/03/2015

Hoy dediqué toda la mañana a terminar la composición psicodélica, dado que el resto lo tenía todo finalizado, incluso me sobró un poco de tiempo para hacer algún diseño.
Hoy no tuvimos clase de diseño ni avanzamos teoría en programación dado que fué la junta de evaluación, posteriormente nos entregaron las notas. Yo tengo un 8,04 en programación y un 7,6 en diseño.

miércoles, 11 de marzo de 2015

DIA CIENTO SETENTA Y NUEVE 11/03/2015

Hoy a parte de subir la teoría pertinente al blog, realizamos distintos ejercicios sobre la gestión de permisos en linux.
El equipo de Northink se reunió para decidir definitivamente cuál será la tarjeta. El manual está terminado y lo siguiente será establecer un manual de procedimientos que constará de distintos archivos con escritos sobre presentación de logotipos, entrevista con clientes etc para un funcionamiento óptimo del grupo.
En diseño dedicamos el tiempo expresamente al ejercicio en desarrollo sobre la portada del CD psicodélica.
Hoy tuvimos una reunión de evaluación ya que habrá junta de evaluación y teníamos que seleccionar un representante y transmitirle qué queríamos que comentara en la reunión.

EJERCICIOS PERMISOS LINUX

Ejercicio 1



Ejercicio 2



Ejercicio 3



Ejercicio 4



Ejercicio 5



Ejercicio 6



Ejercicio 7


En este caso, hemos denegado el permiso de ejecución a cualquiera que intente acceder al directorio (propietario, grupo y otros), por tanto, es evidente que no nos permita el acceso cuando pretendemos lograrlo sin modificar este comando.


Ejercicio 8




GESTION DE PERMISOS EN LINUX



GNU/Linux ofrece menor flexibilidad que windows en la gestión de permisos, ya que no existe la posibilidad de asignar permisos a usuarios ni a grupos concretos.

Existen tres tipos de permisos:

r (lectura)
w (escritura)
x (ejecución)

Estos permisos pueden ser otorgados en tres niveles:


  • propietario: el usuario que creó el fichero
  • grupo: conjunto de usuarios que pertenecen al mismo grupo que el propietario
  • otros: resto de usuarios del sistema
Para poder establecer los permisos sobre un determinado archivo o directorio, se utiliza una cadeba de 10 caracteres:



El primer caracter hace alusión al tipo de archivo, habiendo tres variantes:

- : archivo
d :directorio
l :enlace

Sólo se pueden cambiar los permisos de un archivo o un directorio si se es un propietario o el superusuario root.

Para hacerlo se utiliza el comando chmod con la sintaxis:

chmod {a, u, g, o}{+, -}{r, w, x} fichero

Las llaves significan que hay que escoger una o varias de estas opciones

{a, u, g, o} indican a qué usuarios afectará el cambio de permisos

  • a (all): todos los usuarios
  • u (user): propietario
  • g (group): usuarios del grupo del propietario
  • o (other): resto de usuarios del sistema
{+, -} indica si vamos a activar o desactivar el permiso que continua

{r, w, x} son los permisos de lectura, escritura y ejecución

Ejemplo: chmod a+r fichero

               Da permiso de lectura a todos los usuarios

También podemos usar el chmod con códigos numéricos:


                                                         R = 4    W = 2    X = 1

Ejemplo:

-rwx------ = chmod 700 fichero

Se puede cambiar el propietario de un fichero mediante el comando chown

Sintaxis: chown nuevopropietario fichero

También se puede cambiar el grupo de un fichero mediante el comando chgrp

sintaxis: chgrp nuevogrupo fichero





martes, 10 de marzo de 2015

SEGURIDAD Y PRIVILEGIOS DE ACCESO EN LINUX

En un sistema GNU/Linux todo es un archivo, comprendido los archivos especiales que designan los periféricos. Linux divide los archivos en varias categorías:



  • Los directorios



  • Los archivos ordinarios (programas, archivos de configuración, archivos de datos, etc...)



  • Los archivos especiales (tipo bloc o carácter)



El sistema de archivos en GNU/Linux está organizado en un árbol de directorios, no habiendo necesidad de mencionar el nombre del disco o de la partición para tener acceso.

En un sistema GNU/Linux, se atribuyen privilegios a todos los archivos por 3 identidades: 

  • El propietario- es el usuario que ha creado el archivo o el usuario que root ha designado como propietario



  • El grupo (que no es necesariamente el grupo del propietario)



  • Los otros (aquellos que no hacen parte del grupo)



El comando ls –l nos permite mostrar los privilegios de un archivo en GNU/Linux. Para cada identidad (ver más arriba), existen 3 privilegios para acceder:


  • r - read (privilegio de lectura)



  • w - write (privilegio de escritura)



  • x - execute (privilegio de ejecución)



La visualización de los privilegios está representada por una cadena de 9 caracteres, precedida de un carácter, que representa el tipo de archivo. Estos 9 caracteres, reagrupados de 3 en 3 (rwx rwx rwx), definen las 3 identidades (propietario, grupo y los otros). Para cada privilegio existente vemos una letra entre r,w o x (ver más arriba) y si no existe un privilegio utilizamos un guion.


Significado Símbolo Propietario Grupo Otros

______________________________________________________________________

archivo regular -

directorio d

periférico carácter c

periférico bloc b r w x r w x r w x

enlace simbólico l

tube llamado p

socket local s


Ejemplo: -rwxr-x--- Lo que significa que:


  • Se trata de un archivo regular (el 1er carácter es un guion -) 

  • El propietario tiene todos los privilegios (ReadWriteExecute o sea LeerEscribirEjecutar)



  • Los miembros del grupo tienen el privilegio de Leer (el 1er carácter es r) y Ejecutar (el 3er



  • Carácter es x), en cambio no tienen el privilegio de Escribir (el 2do carácter es un guion -)



  • Los otros no tienen ningún privilegio, ni de lectura, ni de escritura, ni de ejecución (los 3 caracteres son guiones - )

Privilegios especiales


El Sticky bit




El Sticky bit es un privilegio especial en el que el comportamiento es diferente para los archivos ejecutables y directorios. Corresponde a la letra t o al número 1000. Si los privilegios de ejecución no son dados entonces es la letra T que corresponde.

  • los archivos ejecutables – el programa permanecerá en memoria para ser ejecutado posteriormente

  • los directorios – si el sticky bit es otorgado en un directorio, sólo el propietario podrá eliminar sus archivos (es el caso de los directorios /tmp y /var/tmp en GNU/Linux)

Ejemplo:

$ ls -l / | grep tmp;ls -l /var | grep tmpdrwxrwxrwt 12 root root 1024 2006-07-22 14:18 tmpdrwxrwxrwt 4 root root 4096 2006-07-22 10:23 tmp


Para mostrar los privilegios de /tmp y /var/tmp. Se observa que el último carácter en la serie de los 9 en los privilegios es una t y no una x o un guión.



Los privilegios de endoso


SetUID y SetGID Los privilegios de endoso en GNU/Linux están representados por:




  • La letra s (si se ha otorgado el privilegio x)



  • La letra S (si no se ha otorgado el privilegio x)



Numéricamente el privilegio de endoso está representado de la manera siguiente:



  • 4000 – para el endoso de la identidad del propietario



  • 2000 – para el endoso de la identidad del grupo



El comportamiento de los privilegios de endoso.



  • Para los archivos de programas o ejecutable



                                  - SUID = 4000 – el proceso tiene los privilegios del propietario del                                            programa ejecutado



                                  - SGID = 2000 - el proceso tiene los privilegios del grupo del programa                                    ejecutado



                                   - Para los directorios



                                   - SGID = 2000 – los archivos que se encuentran en el directorio                                              pertenecen al grupo del directorio



Los privilegios de endoso son muy importantes para la seguridad. En lugar de dar el acceso a un archivo, se da el privilegio de acceso a un comando. El kernel o núcleo, al momento de la ejecución del comando endosa la identidad del propietario o del grupo del comando en lugar de la del usuario que ha ejecutado el comando. Por lo tanto el acceso al archivo se hace por medio del comando y no directamente. Cuando un usuario se conecta a un sistema GNU/Linux, éste posee 2 UID (UserIDentity) y 2 GID (GroupIDentity): el real y el efectivo.

Al momento de la ejecución de un comando los UID y GID son los reales, los efectivos son
atribuidos al comando.

Cuando los privilegios de endoso no son otorgados, entonces los UID y GID efectivos son
idénticos a los UID y GID reales.

Si los privilegios de endoso son otorgados entonces el UID y/o GID efectivos son los del
comando. Lo que quiere decir que los UID y GID efectivos son los que controlan los privilegios de acceso a un comando.

Para conocer los archivos con los privilegios de endoso de su sistema escriba en un terminal el comando siguiente:


# find / -perm -2000 -o -perm -4000 -exec ls -l {} \; 2>/dev/null


Un buen ejemplo es el comando crontab. Este comando crea un archivo en
/var/spool/cron/crontabs para el usuario que ha ejecutado el comando crontabs. El acceso al directorio /var/spool/cront/crontabs es prohibido a los usuarios excepto root.

$ cd /var/spool/cron/crontabs/
bash: cd: /var/spool/cron/crontabs/: Permiso no concedido

Cuando el usuario lanza el comando crontab –e (para editar su archivo
/var/spool/cron/crontabs/nom_user), el comando se ejecuta con el UID y GID real del usuario pero con el UID y GID efectivo de root.

$ ls -l /usr/bin/crontab
-rwxr-sr-x 1 root crontab 26872 2004-07-28 22:44 /usr/bin/crontab

Vemos que el comando crontab es el propietario de root y que hace parte del grupo crontab con el privilegio SGID. Y como root tiene el privilegio de crear en /var/spool/cron/crontabs el archivo.

# ls -l /var/spool/cron/crontabs/lami20j
-rw------- 1 lami20j crontab 225 2006-07-22 16:00 /var/spool/cron/crontabs/lami20


Podemos ver que el usuario lami20j es el propietario del archivo y que tiene los privilegios de lectura y escritura. Sin embargo no lo puede hacer directamente.


Comandos


Chmod

El comando Chmod (CHangeMODe) permite definir y cambiar los privilegios de acceso de un archivo o un conjunto de archivos. Entre las opciones del comando chmod (las que no son numerosas – ver man chmod) citaré solamente dos:

  • v para verbose (visualización en la salida estándar STDOUT del resultado del comando)

  • R trata los directorios recursivamente (aplicación del comando al árbol de directorios completo del directorio en cuestión)

Hay dos modos de usar el comando chmod:

  • de modo literal

  • de modo numérico

El modo literal Si ha leído atentamente hasta aquí, entonces debería adivinar el modo literal.

Este es el uso de letras que ya le son conocidas r, w y x para especificar los privilegios que se deseen. La novedad es que vamos a utilizar también letras para designar las identidades de las que hemos hablado líneas arriba: el propietario, el grupo y los otros. Chmod utiliza la notación siguiente:


u- para el propietario (user)

g- para el grupo (group)

o-para los otros (other)

a- para todos (all)


Otra notación será utilizada para atribuir y/o retirar privilegios.


+ (más) para atribuir

- (menos) para retirar

= (igual) para fijar el acceso exacto


Aquí un pequeño esquema de construcción para chmod


Identidad Operador Tipo de acceso

_____________________________________

u + r

chmod g - w

o = x

a

_____________________________________

No podemos imaginar todas las combinaciones posibles, aun si eso parece posible considerando que existen pocos operadores y privilegios. Lo que complica las cosas es más bien el número de usuarios, el número de archivos y su repartición en el(los) disco(s) y las particiones de las que no se conoce tampoco el número, etc. En cambio algunas reglas le ayudarán si alguna vez utiliza el comando chmod.

Varias identidades y tipos de acceso pueden ser utilizadas.


Ej: chmod go-wx archivo para los miembros del grupo y los otros retiramos el privilegio de
escritura y ejecución.

  • varios conjuntos de operadores y tipos de acceso pueden ser utilizados.

                        - Ej: chmod o+r-w archivo atribuye el privilegio de lectura pero retira el                                     privilegio de escritura para los otros.

                        - las cadenas pueden ser combinadas separándolas por comas.

                        - Ej: chmod u+x,og-w archivo atribuye el privilegio de ejecución para el                                   propietario y retira los derechos de escritura para los miembros del grupo y                           los otros. ¡Atención!
                        No hay ningún espacio entre las cadenas separadas por las comas.

                       - Para aplicar el comando chmod a un directorio y su contenido (sub-                                    directorios, archivos) se utiliza el comando chmod -R privilegios Directorio

Trucos:

  • Cuando se ha omitido la identidad, será utilizado el valor a

                       - chmod -R +w directorio

                       - el tipo de acceso puede ser omitido si el signo igual (=) es utilizado para                              eliminar todos los accesos

                       - chmod o= archivo

El modo numérico

Proprietario Grupo Otros

__________________________________________________________________

LecturaEscrituraEjec LecturaEscrituraEjec LecturaEscrituraEjec

__________________________________________________________________

400 200 100 40 20 10 4 2 1


Para comprender el uso de chmod con el modo numérico a continuación un ejemplo. 

Ejemplo:

en un archivo deseamos establecer los privilegios siguientes: -propietario Lectura + escritura

+ejecución = 400 + 200 + 100 =700 -grupo Lectura + ejecución = 40 + 10 = 50 -los otros Lectura

+ ejecución = 4 + 1 = 5 En total esto da 700 + 50 + 5 = 755 Ahora vamos a utilizar el resultado

obtenido con chmod. chmod -v 0755 archivo o chmod 0755 archivo pero en este caso el

resultado del comando no es mostrado en la salida estándar Podemos escribir simplemente

chmod 755 archivo En resumen, el principio no es complicado. Establecemos los privilegios

que deseamos para cada identidad y hacemos la adición. Por el resto chmod se encarga. Ahora que hemos visto el modo numérico de utilizar el comando chmod, supongo que quizás haya encontrado la respuesta a una pregunta que tal vez le haya atravesado el espíritu. Se trata de la atribución de los privilegios de endoso.


SUID SGID Sticky bit

__________________________

4000 2000 1000

__________________________


Para agregar un privilegio de endoso, aparte de los privilegios habituales, inserte en el cálculo el o los privilegios de endoso que necesite. Tomemos el caso precedente 700 + 50 + 5 = 755

Para agregar el privilegio de endoso del grupo escribimos 2000 + 700 + 50 + 5 = 2755
¡Recuerde! Se trata de los privilegios para un comando, lo que significa que el privilegio de
ejecución debe ser otorgado. Que yo sepa no hay manera de regresar a los privilegios
precedentes una vez que haya ejecutado el comando.

Una idea descabellada sería guardar en primer lugar los privilegios existentes en un
archivo con ls -l o ls –Rl y enseguida crear un script para analizar este archivo, pero esto
complicaría las cosas y a decir verdad nunca he necesitado hacerlo. Otra idea, también
descabellada, seria salvar con tar par luego, en caso que perdiera los privilegios, regresar a la configuración original. Por consiguiente antes de modificar los privilegios de un archivo o un árbol de directorios primero dé una ojeada a los privilegios que ya existen.


umask

El comando umask permite definir los privilegios por defecto de un archivo o directorio al
momento de ser creados. Dicho de otro modo, éste indica los privilegios que se deben retirar al momento de su creación. El comando umask, al igual que el comando umask (modo numérico) toma como argumentos 3 cifras, que esta vez representan los privilegios que no deseamos otorgar. $ umask 0022 archivo Hay que saber que el periodo de vida del comando umask está limitado a la sesión shell activa. Para una duración permanente ver los archivos de configuración de su shell. Para el shell bash podemos utilizar el archivo ~/.bashrc

La comprensión de los privilegios para los archivos en un sistema GNU/Linux está bastante ligada a la gestión de los usuarios y grupos. Además de los privilegios que hemos visto líneas arriba, en un sistema GNU/Linux encontramos también los ACLs (Access Control List) que permiten otorgar privilegios suplementarios

DIA CIENTO SETENTA Y OCHO 10/03/2015

Hoy seguimos con teoría acerca de linux, la gestión de usuarios, seguridad etc.
Por otro lado, en diseño gráfico estamos por el penúltimo movimiento vanguardista, hoy ha sido exactamente el minimalismo. A su vez, seguimos con la portada del CD, que está llevando bastante trabajo por la cantidad de elementos que contendrá.

COMO FUNCIONA EL DISCO DURO DEL PC



¿Qué es?


El disco duro es el dispositivo del sistema de memoria del PC que almacena los programas y archivos de forma permanente. Es capaz, por tanto, de no olvidar nada aunque no reciba corriente eléctrica. 


¿Cómo se organiza la información?


La distribución lógica que tiene internamente un disco duro es responsabilidad del sistema operativo. Este se encarga de organizarlo y permitir el acceso a los distintos ficheros.

Estos ficheros se organizan en carpetas que a su vez pueden contener otras subcarpetas.
Entre otros sistemas de ficheros los más comunes son el NTFS y FAT pertenecientes a los entornos Windows o los ext2, ext3 y ext4 de Linux.


Dentro de un disco duro hay varios platos (entre 2 y 4), que son discos (de aluminio o cristal) concéntricos y que giran todos a la vez. El cabezal (dispositivo de lectura y escritura) es un conjunto de brazos alineados verticalmente que se mueven hacia dentro o fuera según convenga, todos a la vez. En la punta de dichos brazos están las cabezas de lectura/escritura, que gracias al movimiento del cabezal pueden leer tanto zonas interiores como exteriores del disco.

Cada plato tiene dos caras, y es necesaria una cabeza de lectura/escritura para cada cara (no es una cabeza por plato, sino una por cara).  

Las cabezas de lectura/escritura nunca tocan el disco, sino que pasan muy cerca (hasta a 3 nanómetros). Si alguna llega a tocarlo, causaría muchos daños en el disco, debido a lo rápido que giran los platos (uno de 7.200 revoluciones por minuto se mueve a 120 km/h en el borde). 


analytics