Práctica 4: Credenciales y redirección
Añadir al intérprete de comandos de la práctica anterior los siguientes comandos.
# getid Credencial real usuario: 15666 infzzz00 Credencial efectiva usuario 15602 infzzz05 # getid -g Credencial real grupo: 1001 i3 Credencial efectiva grupo 1070 admin
# setid root Imposible cambiar credencial: not owner # setid 15432 Imposible cambiar credencial: not owner # setid -g i4 Credencial efectiva de grupo cambiada a i4
# exec wc -l -c <fichero # du -a / /usr /home >fichero_salida )f_error &Las redirecciones DEBEN ser compatibles entre sí y con la ejecución en primer y segundo plano (con entorno cambiado).
# pipe ls -l /usr . . . /home % wc -l -c
IMPORTANTE
Para que un proceso de un usuario distinto del root pueda ejecutar con éxito la llamada setuid es necesario que ejecute un fichero propiedad de otro usuario que tenga activado el bit setuid, lo cual se consigue poniéndole a dicho fichero los permisos 04755. Criterios de seguridad aconsejan que no puedan crearse ficheros setuid en sistemas de ficheros exportados por NFS, de ahi que no pueden crearse ficheros setuid en los directorios HOME de los usuarios. Hay que crearlos en un directorio local de la máquina donde se trabaja. El único directorio local donde los usuarios normales tienen permiso de escritura es /tmp.
Información detallada de las llamadas al sistema y las funciones de la librería debe obternerse con man (setuid, getuid, open, pipe, getpwent, getgrent)
FORMA DE ENTREGA Va a ser utilizado el servicio de recogida de prácticas suministrado por el Centro de Cálculo de esta Facultad y parte del proceso de corrección de las prácticas va a ser automtico (compilación, listado de practicas entregadas etc) por lo cual deben entregarse exactamente como se indica a continuación:
/* AUTOR:apellido11 apellido12, nombre1:login_del_que_entrega_la_practica AUTOR:apellido21 apellido22, nombre2:login_del_que_entrega_la_practica */donde: