SlideShare una empresa de Scribd logo
1. Se tiene el siguiente contenido en un fichero llamado file en la carpeta de trabajo:
PROG-ASI1 [paulino,rafa,jose]
maria[maria,pedro]
sofi[sofia,juan]
andres[andres]
raul[andres,pedro,rauli]
Este fichero contiene la política de acceso al repositorio PROG-ASI1, sobre el cual trabajará un
conjunto de usuarios
2. Ejecutando el siguiente script Python se obtienen dos ficheros en /tmp: output_perm y output_us
Los contenidos de dichos ficheros deben ser agregados por el Administrador de Repositorios al
fichero authz
#!/usr/bin/env pyton
import re
D={}
S=set([])
T=set([])
def agrupar(line):
match=separar(line)
repos=match.group(1).rstrip()
D[repos]=match.group(2)
def separar(line):
line=line.rstrip()
line=line.lstrip()
match=re.match('(.*)[(.*)](.*)',line)
return match
def put_en_set(clave):
for i in D:
if i!=clave:
alum=D[i].split(',')
for a in alum:
S.add(a)
def presentar(A):
c=''
i=0
for t in A:
if i<len(A)-1:
c+='%s,' % t
else:
c+='%s' % t
i+=1
return c
def main():
f=open('file')
while True:
line=f.readline()
if not line:
break
agrupar(line)
if len(D.keys()) == 1:
for clave in D:
repositorio=clave
us_rw_repos=D[clave]
put_en_set(clave) # generar el total de autorizados al
repo
output_us = open('/tmp/output_us', 'w')
output_perm = open('/tmp/output_perm', 'w')
output_us.write('u-rw-%s = %sn' %
(repositorio,us_rw_repos))
c=presentar(S)
output_us.write('u-r-%s = %sn' % (repositorio,c))
output_perm.write('[%s:/]n' % repositorio)
output_perm.write('@u-rw-%s = rwn' % repositorio)
output_perm.write('@u-r-%s = rn' % repositorio)
for i in D:
if i!=clave:
alum=D[i].split(',')
for a in alum:
T.add(a)
R=S-T
c=presentar(alum)
output_us.write('u-rw-%s-%s = %sn' %
(repositorio,i,c))
c=presentar(R)
output_us.write('u-nor-%s-%s = %sn' %
(repositorio,i,c))
output_perm.write('[%s:/%s]n' % (repositorio,i))
output_perm.write('@u-rw-%s-%s = rwn' %
(repositorio,i))
output_perm.write('@u-nor-%s-%s = n' %
(repositorio,i))
T.clear()
R.clear()
output_perm.close()
output_us.close()
if __name__ == "__main__":
main()
Produce la siguiente salida:
fichero /tmp/output_us
u-rw-PROG-ASI1 = paulino,rafa,jose
u-r-PROG-ASI1 = pedro,andres,juan,sofia,rauli,maria
u-rw-PROG-ASI1-raul = andres,pedro,rauli
u-nor-PROG-ASI1-raul = juan,sofia,maria
u-rw-PROG-ASI1-sofi = sofia,juan
u-nor-PROG-ASI1-sofi = rauli,andres,pedro,maria
u-rw-PROG-ASI1-andres = andres
u-nor-PROG-ASI1-andres = sofia,rauli,juan,pedro,maria
u-rw-PROG-ASI1-maria = maria,pedro
u-nor-PROG-ASI1-maria = rauli,andres,juan,sofia
fichero /tmp/output_perm
[PROG-ASI1:/]
@u-rw-PROG-ASI1 = rw
@u-r-PROG-ASI1 = r
[PROG-ASI1:/raul]
@u-rw-PROG-ASI1-raul = rw
@u-nor-PROG-ASI1-raul =
[PROG-ASI1:/sofi]
@u-rw-PROG-ASI1-sofi = rw
@u-nor-PROG-ASI1-sofi =
[PROG-ASI1:/andres]
@u-rw-PROG-ASI1-andres = rw
@u-nor-PROG-ASI1-andres =
[PROG-ASI1:/maria]
@u-rw-PROG-ASI1-maria = rw
@u-nor-PROG-ASI1-maria =

Más contenido relacionado

La actualidad más candente

Ubuntu Comand Line
Ubuntu Comand LineUbuntu Comand Line
Ubuntu Comand Linexander21c
 
Comandos ubuntu
Comandos ubuntuComandos ubuntu
Comandos ubuntu
Heectoor Daaviid
 
MANEJO DE ARCHIVOS Y CARPETAS.
MANEJO DE ARCHIVOS Y CARPETAS.MANEJO DE ARCHIVOS Y CARPETAS.
MANEJO DE ARCHIVOS Y CARPETAS.
Efrain Nava Ceja
 
Tarea 1isidro
Tarea 1isidroTarea 1isidro
Tarea 1isidro
rubhen123
 
Comandos de ubuntu
Comandos de ubuntuComandos de ubuntu
Comandos de ubuntu
Neriiva Pollypooqeth
 
Instalar odoo 9 en Linux Debian
Instalar odoo 9 en Linux DebianInstalar odoo 9 en Linux Debian
Instalar odoo 9 en Linux Debian
Marcelo Pesallaccia
 
Cluster rhel7
Cluster rhel7Cluster rhel7
Comandos ubuntu
Comandos ubuntuComandos ubuntu
Comandos ubuntu
Gabriel Garcia
 
Backups[1][1]
Backups[1][1]Backups[1][1]
Backups[1][1]
juanchogonza
 
Redes en Linux
Redes en Linux Redes en Linux
Redes en Linux
Jorge Luis Chalén
 
Introduccion a Python. Clase 7
Introduccion a Python. Clase 7Introduccion a Python. Clase 7
Introduccion a Python. Clase 7
Ernesto Freyre Gonzalez
 
Leccion03
Leccion03Leccion03
Leccion03
sgonzales2012
 
Actividad 3-4 actividad final
Actividad 3-4 actividad finalActividad 3-4 actividad final
Actividad 3-4 actividad final
Alejandra Osorio
 
10 comandos basicos de linux
10 comandos basicos de linux10 comandos basicos de linux
10 comandos basicos de linux
Darwin Mx
 
Manejo de ficheros en Linux
Manejo de ficheros en LinuxManejo de ficheros en Linux
Manejo de ficheros en Linux
guest21f6be1
 
Más de 400 comandos para GNU/Linux que deberíamos conocer
Más de 400 comandos para GNU/Linux que deberíamos conocerMás de 400 comandos para GNU/Linux que deberíamos conocer
Más de 400 comandos para GNU/Linux que deberíamos conocer
Eider Joselito Chaves C.
 

La actualidad más candente (16)

Ubuntu Comand Line
Ubuntu Comand LineUbuntu Comand Line
Ubuntu Comand Line
 
Comandos ubuntu
Comandos ubuntuComandos ubuntu
Comandos ubuntu
 
MANEJO DE ARCHIVOS Y CARPETAS.
MANEJO DE ARCHIVOS Y CARPETAS.MANEJO DE ARCHIVOS Y CARPETAS.
MANEJO DE ARCHIVOS Y CARPETAS.
 
Tarea 1isidro
Tarea 1isidroTarea 1isidro
Tarea 1isidro
 
Comandos de ubuntu
Comandos de ubuntuComandos de ubuntu
Comandos de ubuntu
 
Instalar odoo 9 en Linux Debian
Instalar odoo 9 en Linux DebianInstalar odoo 9 en Linux Debian
Instalar odoo 9 en Linux Debian
 
Cluster rhel7
Cluster rhel7Cluster rhel7
Cluster rhel7
 
Comandos ubuntu
Comandos ubuntuComandos ubuntu
Comandos ubuntu
 
Backups[1][1]
Backups[1][1]Backups[1][1]
Backups[1][1]
 
Redes en Linux
Redes en Linux Redes en Linux
Redes en Linux
 
Introduccion a Python. Clase 7
Introduccion a Python. Clase 7Introduccion a Python. Clase 7
Introduccion a Python. Clase 7
 
Leccion03
Leccion03Leccion03
Leccion03
 
Actividad 3-4 actividad final
Actividad 3-4 actividad finalActividad 3-4 actividad final
Actividad 3-4 actividad final
 
10 comandos basicos de linux
10 comandos basicos de linux10 comandos basicos de linux
10 comandos basicos de linux
 
Manejo de ficheros en Linux
Manejo de ficheros en LinuxManejo de ficheros en Linux
Manejo de ficheros en Linux
 
Más de 400 comandos para GNU/Linux que deberíamos conocer
Más de 400 comandos para GNU/Linux que deberíamos conocerMás de 400 comandos para GNU/Linux que deberíamos conocer
Más de 400 comandos para GNU/Linux que deberíamos conocer
 

Similar a Modificando authz file

2 7 ficheros_php
2 7 ficheros_php2 7 ficheros_php
2 7 ficheros_php
Juan José Taboada León
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
Maciel Rodelo Alvarez
 
Comandos utiles linux
Comandos utiles linuxComandos utiles linux
Comandos utiles linux
Carlos Iturrieta
 
Guia comandos-rapidos-linux-4781
Guia comandos-rapidos-linux-4781Guia comandos-rapidos-linux-4781
Guia comandos-rapidos-linux-4781Enrique Villafuerte
 
ADMINISTRACION DE PAQUETES ::: http://leymebamba.com
ADMINISTRACION DE PAQUETES ::: http://leymebamba.comADMINISTRACION DE PAQUETES ::: http://leymebamba.com
ADMINISTRACION DE PAQUETES ::: http://leymebamba.com
{|::::::. ELDAVAN .:::::::|}
 
ARCHIVOS_Dom.pdf
ARCHIVOS_Dom.pdfARCHIVOS_Dom.pdf
ARCHIVOS_Dom.pdf
Rafael662862
 
Manual de linux
Manual de linuxManual de linux
Manual de linux
Jorge Hernández
 
Unix 1314 test
Unix 1314 testUnix 1314 test
Unix 1314 test
Carlos Sotomayor
 
Curso GNU/Linux
Curso GNU/LinuxCurso GNU/Linux
Curso GNU/Linux
corchero83
 
Python Madrid empaquetamiento deb aplicaciones Python
Python Madrid empaquetamiento deb aplicaciones PythonPython Madrid empaquetamiento deb aplicaciones Python
Python Madrid empaquetamiento deb aplicaciones Python
Eduardo Ferro Aldama
 
Introduction to linux for bioinformatics
Introduction to linux for bioinformaticsIntroduction to linux for bioinformatics
Introduction to linux for bioinformatics
Alberto Labarga
 
Prog_II_archivo_guia_5
Prog_II_archivo_guia_5Prog_II_archivo_guia_5
Comandos básicos ubuntu
Comandos básicos ubuntuComandos básicos ubuntu
Comandos básicos ubunturobertoiglesias
 
Presentación appy/pod
Presentación appy/podPresentación appy/pod
Presentación appy/pod
Juan Rodríguez
 

Similar a Modificando authz file (20)

2 7 ficheros_php
2 7 ficheros_php2 7 ficheros_php
2 7 ficheros_php
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Comandos utiles linux
Comandos utiles linuxComandos utiles linux
Comandos utiles linux
 
Guia comandos-rapidos-linux-4781
Guia comandos-rapidos-linux-4781Guia comandos-rapidos-linux-4781
Guia comandos-rapidos-linux-4781
 
Archivos
ArchivosArchivos
Archivos
 
ADMINISTRACION DE PAQUETES ::: http://leymebamba.com
ADMINISTRACION DE PAQUETES ::: http://leymebamba.comADMINISTRACION DE PAQUETES ::: http://leymebamba.com
ADMINISTRACION DE PAQUETES ::: http://leymebamba.com
 
Comandos ubuntu
Comandos ubuntuComandos ubuntu
Comandos ubuntu
 
Comandos ubuntu
Comandos ubuntuComandos ubuntu
Comandos ubuntu
 
ARCHIVOS_Dom.pdf
ARCHIVOS_Dom.pdfARCHIVOS_Dom.pdf
ARCHIVOS_Dom.pdf
 
Practica 5
Practica 5Practica 5
Practica 5
 
Manual de linux
Manual de linuxManual de linux
Manual de linux
 
Unix 1314 test
Unix 1314 testUnix 1314 test
Unix 1314 test
 
Curso GNU/Linux
Curso GNU/LinuxCurso GNU/Linux
Curso GNU/Linux
 
Lab6-POO
Lab6-POOLab6-POO
Lab6-POO
 
Actividad3.4
Actividad3.4Actividad3.4
Actividad3.4
 
Python Madrid empaquetamiento deb aplicaciones Python
Python Madrid empaquetamiento deb aplicaciones PythonPython Madrid empaquetamiento deb aplicaciones Python
Python Madrid empaquetamiento deb aplicaciones Python
 
Introduction to linux for bioinformatics
Introduction to linux for bioinformaticsIntroduction to linux for bioinformatics
Introduction to linux for bioinformatics
 
Prog_II_archivo_guia_5
Prog_II_archivo_guia_5Prog_II_archivo_guia_5
Prog_II_archivo_guia_5
 
Comandos básicos ubuntu
Comandos básicos ubuntuComandos básicos ubuntu
Comandos básicos ubuntu
 
Presentación appy/pod
Presentación appy/podPresentación appy/pod
Presentación appy/pod
 

Más de Paulino Huerta Sanchez

Comunicar la Política de acceso a Repositorios
Comunicar la Política de acceso a RepositoriosComunicar la Política de acceso a Repositorios
Comunicar la Política de acceso a Repositorios
Paulino Huerta Sanchez
 
Experiencia con Control de Versiones en las Aulas
Experiencia con Control de Versiones en las AulasExperiencia con Control de Versiones en las Aulas
Experiencia con Control de Versiones en las Aulas
Paulino Huerta Sanchez
 
Introducción Administración TCP/IP
Introducción Administración TCP/IPIntroducción Administración TCP/IP
Introducción Administración TCP/IP
Paulino Huerta Sanchez
 
Listas de Correos con Mailman
Listas de Correos con MailmanListas de Correos con Mailman
Listas de Correos con Mailman
Paulino Huerta Sanchez
 
BSCW en Centros Educativos
BSCW en Centros EducativosBSCW en Centros Educativos
BSCW en Centros Educativos
Paulino Huerta Sanchez
 
Multithreads Programming
Multithreads ProgrammingMultithreads Programming
Multithreads Programming
Paulino Huerta Sanchez
 

Más de Paulino Huerta Sanchez (6)

Comunicar la Política de acceso a Repositorios
Comunicar la Política de acceso a RepositoriosComunicar la Política de acceso a Repositorios
Comunicar la Política de acceso a Repositorios
 
Experiencia con Control de Versiones en las Aulas
Experiencia con Control de Versiones en las AulasExperiencia con Control de Versiones en las Aulas
Experiencia con Control de Versiones en las Aulas
 
Introducción Administración TCP/IP
Introducción Administración TCP/IPIntroducción Administración TCP/IP
Introducción Administración TCP/IP
 
Listas de Correos con Mailman
Listas de Correos con MailmanListas de Correos con Mailman
Listas de Correos con Mailman
 
BSCW en Centros Educativos
BSCW en Centros EducativosBSCW en Centros Educativos
BSCW en Centros Educativos
 
Multithreads Programming
Multithreads ProgrammingMultithreads Programming
Multithreads Programming
 

Último

Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
TatianaVanessaAltami
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
LorenaCovarrubias12
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
auxsoporte
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Monseespinoza6
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
jmorales40
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
cintiat3400
 
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptxAutomatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
GallardoJahse
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
EdwardYumbato1
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
JAVIER SOLIS NOYOLA
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
YolandaRodriguezChin
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
Edurne Navarro Bueno
 
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCIONCAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
MasielPMP
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Txema Gs
 
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docxSESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
QuispeJimenezDyuy
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
Profes de Relideleón Apellidos
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
Alejandrino Halire Ccahuana
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
DivinoNioJess885
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
https://gramadal.wordpress.com/
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
BetzabePecheSalcedo1
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
pablomarin116
 

Último (20)

Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
 
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptxAutomatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
 
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCIONCAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
 
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docxSESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
 

Modificando authz file

  • 1. 1. Se tiene el siguiente contenido en un fichero llamado file en la carpeta de trabajo: PROG-ASI1 [paulino,rafa,jose] maria[maria,pedro] sofi[sofia,juan] andres[andres] raul[andres,pedro,rauli] Este fichero contiene la política de acceso al repositorio PROG-ASI1, sobre el cual trabajará un conjunto de usuarios 2. Ejecutando el siguiente script Python se obtienen dos ficheros en /tmp: output_perm y output_us Los contenidos de dichos ficheros deben ser agregados por el Administrador de Repositorios al fichero authz #!/usr/bin/env pyton import re D={} S=set([]) T=set([]) def agrupar(line): match=separar(line) repos=match.group(1).rstrip() D[repos]=match.group(2) def separar(line): line=line.rstrip() line=line.lstrip() match=re.match('(.*)[(.*)](.*)',line) return match def put_en_set(clave): for i in D: if i!=clave: alum=D[i].split(',') for a in alum: S.add(a) def presentar(A): c='' i=0 for t in A: if i<len(A)-1: c+='%s,' % t else: c+='%s' % t
  • 2. i+=1 return c def main(): f=open('file') while True: line=f.readline() if not line: break agrupar(line) if len(D.keys()) == 1: for clave in D: repositorio=clave us_rw_repos=D[clave] put_en_set(clave) # generar el total de autorizados al repo output_us = open('/tmp/output_us', 'w') output_perm = open('/tmp/output_perm', 'w') output_us.write('u-rw-%s = %sn' % (repositorio,us_rw_repos)) c=presentar(S) output_us.write('u-r-%s = %sn' % (repositorio,c)) output_perm.write('[%s:/]n' % repositorio) output_perm.write('@u-rw-%s = rwn' % repositorio) output_perm.write('@u-r-%s = rn' % repositorio) for i in D: if i!=clave: alum=D[i].split(',') for a in alum: T.add(a) R=S-T c=presentar(alum) output_us.write('u-rw-%s-%s = %sn' % (repositorio,i,c)) c=presentar(R) output_us.write('u-nor-%s-%s = %sn' % (repositorio,i,c)) output_perm.write('[%s:/%s]n' % (repositorio,i)) output_perm.write('@u-rw-%s-%s = rwn' % (repositorio,i)) output_perm.write('@u-nor-%s-%s = n' % (repositorio,i)) T.clear() R.clear() output_perm.close()
  • 3. output_us.close() if __name__ == "__main__": main() Produce la siguiente salida: fichero /tmp/output_us u-rw-PROG-ASI1 = paulino,rafa,jose u-r-PROG-ASI1 = pedro,andres,juan,sofia,rauli,maria u-rw-PROG-ASI1-raul = andres,pedro,rauli u-nor-PROG-ASI1-raul = juan,sofia,maria u-rw-PROG-ASI1-sofi = sofia,juan u-nor-PROG-ASI1-sofi = rauli,andres,pedro,maria u-rw-PROG-ASI1-andres = andres u-nor-PROG-ASI1-andres = sofia,rauli,juan,pedro,maria u-rw-PROG-ASI1-maria = maria,pedro u-nor-PROG-ASI1-maria = rauli,andres,juan,sofia fichero /tmp/output_perm [PROG-ASI1:/] @u-rw-PROG-ASI1 = rw @u-r-PROG-ASI1 = r [PROG-ASI1:/raul] @u-rw-PROG-ASI1-raul = rw @u-nor-PROG-ASI1-raul = [PROG-ASI1:/sofi] @u-rw-PROG-ASI1-sofi = rw @u-nor-PROG-ASI1-sofi = [PROG-ASI1:/andres] @u-rw-PROG-ASI1-andres = rw @u-nor-PROG-ASI1-andres = [PROG-ASI1:/maria] @u-rw-PROG-ASI1-maria = rw @u-nor-PROG-ASI1-maria =