Programación Bajo Plataformas Abiertas Laboratorio 01 Oscar

Anuncio
88/100
Programación Bajo Plataformas Abiertas
Laboratorio 01
Oscar González Castro B02709
Primera Parte: Primer contacto con el sistema 14/20
1. Se explora el entorno y algunos comandos básicos como ls y cd sin problemas.
2. Se actualiza la lista de paquetes con apt-get update y como superusuario (anteponiendo
“sudo” al comando). Con el comando apt-get install elinks y como superusuario, se
instala el explorador ELinks. Capturas de pantalla, salida de la terminal, nano, touch?
Segunda Parte: Usuarios, grupos y permisos 46/50
1. Se agregan dos usuarios nuevos con:
sudo adduser usuario1
sudo adduser usuario2
2. Se agrega el nuevo grupo ie0117:
sudo addgroup ie0117
y se agrega usuario1 a este grupo:
sudo addgroup usuario1 ie0117
3. Cambiamos de directorio a /tmp con el comando cd y se agrega la siguiente jerarquía de
archivos y directorios:
DirectorioBase
|
|
|-- Directorio1
|
|
|
|--- Archivo1
|
|
|
|--- Archivo2
|
|
|
`--- Archivo3
|
|-- Directorio2
|
|
|
|--- Directorio2-1
|
|
|
|--- Directorio2-2
|
|
|
`--- Archivo4
|
`-- Directorio3
(mkdir DirectorioBase)
-------------------------------------------> (mkdir Directorio1)
(touch Archivo1)
(touch Archivo2)
(touch Archivo3)
-------------------------------------------> (mkdir Directorio2)
(mkdir Directorio2-1)
(mkdir Directorio2-2)
(touch Archivo4)
-------------------------------------------> (mkdir Directorio3)
4. Se hacen las siguientes asignaciones:
a) Se cambia el grupo de DirectorioBase y su contenido de manera recursiva a ie0117:
sudo chown -R :ie0117 DirectorioBase/
b) Se cambia el usuario dueño de Directorio1 y Directorio2 a usuario1:
sudo chown usuario1 Directorio1 Directorio2
c) Se cambia el usuario de Archivo1, Archivo2 y Directorio2-1 a usuario2:
sudo chown usuario2 Archivo1 Archivo2
sudo chown usuario2 Directorio2-1
5. Se realizan las siguientes asignaciones de permisos:
a) Directorio1: lectura, escritura y ejecución al usuario, lectura y ejecución al grupo y a los
otros.
sudo chmod 755 Directorio1
b) Directorio2-2: lectura, escritura y ejecución para el usuario y el grupo. Lectura y
ejecución a otros.
sudo chmod 775 Directorio2-2
c) Archivo3: lectura, escritura y ejecución para el usuario y el grupo. Nada para los otros.
sudo chmod 770 Archivo 3
6. Preguntas
Primero hay que notar que los archivos creados para el laboratorio vienen por defecto con el
modo 664 y los directorios con el modo 775.
a) ¿Cuáles archivos pueden ser editados por usuario1? ¿Por qué?
usuario1 puede editar cualquiera de los cuatro archivos existentes, ya que, para Archivo1,
Archivo2 y Archivo3, estos se encuentran en el directorio Directorio1, del que es dueño y
tiene permisos de escritura (recordemos 755), y los archivos en él pertenecen al grupo ie0117, y
todos tienen permisos de escritura para el grupo.
Por otra parte, Archivo4 también esta en un directorio que pertenece a usuario1 y tiene
permisos de escritura (por el grupo, ie0117).
b) ¿Cuáles archivos pueden ser editados por usuario2? ¿Por qué?
usuario2 no puede editara Archivo1, Archivo2, Archivo3, ya que están en
Directorio1 y no pueden ser modificados por “Otros”, esto por los permisos anteriormente
asignados al directorio (755).
En cambio, sí puede modificar a Archivo4, debido a que Directorio2 tiene permisos para
que sea modificado por el grupo al igual que el archivo. Pero el usuario2 no pertenece al grupo ie0117.
c) ¿En cuáles directorios puede crear nuevos archivos usuario1? ¿Por qué?
usuario1 puede crear archivos en todos directorios porque todos tiene permisos de escritura,
ya se para el usuario o para el grupo. Depende de los permisos iniciales ... pero en definitiva podría hacerlo
en Directorio1 y Directorio2-2 .
d) ¿En cuáles directorios puede crear nuevos archivos usuario2? ¿Por qué?
El directorio Directorio1 es el único que no puede modificar usuario2, porque ese
directorio le pertenece a usuario1 y solo tiene permiso de escritura para el usuario dueño.
Todos los demás directorios tienen permisos de escritura para el grupo (ie0117), por lo que
usuario2 puede crear nuevos archivos. Recuerde que usuario2 no pertenece al grupo ie0117 .
7. Se borra el directorio DirectorioBase:
sudo rmdir DirectorioBase
rmdir borra únicamente directorios vacíos.
Tercera Parte: Manejo de procesos 28/30
1. Se ejecuta el comando ps y despliega información sobre los procesos que se están
ejecutando en el momento. Al ejecutar el comando con las opciones a, ax y aux se
muestra la información en sintaxis BSD y desplegada con más comodidad para el
usuario.
2. Se instala el paquete build-essential .
3. Se descarga y compila el archivo programa1.c. Al ejecutar programa1 imprime en
pantalla “Ciclo Infinito”, aparentemente, infinitas veces.
4. Al enviar el programa al background con ctrl+z, se detiene su ejecución. Esto se
puede corroborar con el comando jobs.
5. Al usar el comando bg, continúa la ejecución de programa1, a pesar de eso, es
posible usar la terminal normalmente.
6. Con el comando fg, se ejecuta programa1, pero no se puede utilizar la terminal.
7. Se termina la ejecución de programa1 con ctrl+c.
8. Se descarga y compila el archivo programa2.c. Al ejecutar programa2, no hay
gran accionar, simplemente se hace inútil tratar de usar la terminal.
9. Cuando se intenta “matar” el proceso enviando las señales USR1, HUP y TERM con
kill, únicamente imprime en pantalla el tipo de señal que se envía sin tener mayor
cambio en el programa.
10. Si se intenta terminar la ejecución de programa2 presionando ctrl+c, simplemente
lo reporta imprimiendo en pantalla “Ctrl-C fue presionado”.
11. Cuando se usa el comando kill con la señal KILL, el proceso termina imprimiendo en
pantalla “Terminado (killed)”, ya que kill -KILL termina cualquier proceso
forzadamente.
Capturas de pantalla?
Descargar