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

PPT
Sesion Nº 06 Tópicos Php, Arrays, Funciones, Permisos Sobre Php
DOCX
Manejo de archivos
PDF
Manejo de archivos y carpetas
DOCX
Comandos linux
PDF
Manejo de archivos y carpeta
PDF
Comandos usados en kali linux
PDF
Empaquetar y comprimir archivos en linux
DOC
FICHEROS
Sesion Nº 06 Tópicos Php, Arrays, Funciones, Permisos Sobre Php
Manejo de archivos
Manejo de archivos y carpetas
Comandos linux
Manejo de archivos y carpeta
Comandos usados en kali linux
Empaquetar y comprimir archivos en linux
FICHEROS

La actualidad más candente (16)

ODP
Ubuntu Comand Line
PDF
Comandos ubuntu
PDF
MANEJO DE ARCHIVOS Y CARPETAS.
PDF
Tarea 1isidro
DOCX
Comandos de ubuntu
PDF
Instalar odoo 9 en Linux Debian
DOCX
DOCX
Comandos ubuntu
PPT
Backups[1][1]
PDF
Redes en Linux
PDF
Introduccion a Python. Clase 7
PDF
Leccion03
PDF
Actividad 3-4 actividad final
TXT
10 comandos basicos de linux
ODP
Manejo de ficheros en Linux
PDF
Más de 400 comandos para GNU/Linux que deberíamos conocer
Ubuntu Comand Line
Comandos ubuntu
MANEJO DE ARCHIVOS Y CARPETAS.
Tarea 1isidro
Comandos de ubuntu
Instalar odoo 9 en Linux Debian
Comandos ubuntu
Backups[1][1]
Redes en Linux
Introduccion a Python. Clase 7
Leccion03
Actividad 3-4 actividad final
10 comandos basicos de linux
Manejo de ficheros en Linux
Más de 400 comandos para GNU/Linux que deberíamos conocer
Publicidad

Similar a Modificando authz file (20)

PDF
2 7 ficheros_php
DOCX
Comandos linux
PDF
Comandos utiles linux
PDF
Guia comandos-rapidos-linux-4781
PDF
Archivos
PDF
ADMINISTRACION DE PAQUETES ::: http://leymebamba.com
DOCX
Comandos ubuntu
DOCX
Comandos ubuntu
PDF
ARCHIVOS_Dom.pdf
PDF
Practica 5
DOCX
Manual de linux
PDF
Unix 1314 test
ODP
Curso GNU/Linux
PDF
Actividad3.4
PPT
Python Madrid empaquetamiento deb aplicaciones Python
PDF
Introduction to linux for bioinformatics
DOCX
Comandos básicos ubuntu
PDF
Presentación appy/pod
2 7 ficheros_php
Comandos linux
Comandos utiles linux
Guia comandos-rapidos-linux-4781
Archivos
ADMINISTRACION DE PAQUETES ::: http://leymebamba.com
Comandos ubuntu
Comandos ubuntu
ARCHIVOS_Dom.pdf
Practica 5
Manual de linux
Unix 1314 test
Curso GNU/Linux
Actividad3.4
Python Madrid empaquetamiento deb aplicaciones Python
Introduction to linux for bioinformatics
Comandos básicos ubuntu
Presentación appy/pod
Publicidad

Más de Paulino Huerta Sanchez (6)

DOC
Comunicar la Política de acceso a Repositorios
DOC
Experiencia con Control de Versiones en las Aulas
PPT
Introducción Administración TCP/IP
ODP
Listas de Correos con Mailman
ODP
BSCW en Centros Educativos
PDF
Multithreads Programming
Comunicar la Política de acceso a Repositorios
Experiencia con Control de Versiones en las Aulas
Introducción Administración TCP/IP
Listas de Correos con Mailman
BSCW en Centros Educativos
Multithreads Programming

Último (20)

PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PDF
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
PDF
Metodologías Activas con herramientas IAG
PDF
biología es un libro sobre casi todo el tema de biología
PDF
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
PDF
Punto Critico - Brian Tracy Ccesa007.pdf
PDF
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
PDF
DI, TEA, TDAH.pdf guía se secuencias didacticas
PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
PDF
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
DOCX
2 GRADO UNIDAD 5 - 2025.docx para primaria
PDF
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
PDF
Atencion prenatal. Ginecologia y obsetricia
PDF
Escuelas Desarmando una mirada subjetiva a la educación
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
DOCX
V UNIDAD - PRIMER GRADO. del mes de agosto
PDF
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
PDF
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
Metodologías Activas con herramientas IAG
biología es un libro sobre casi todo el tema de biología
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
Punto Critico - Brian Tracy Ccesa007.pdf
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
DI, TEA, TDAH.pdf guía se secuencias didacticas
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
2 GRADO UNIDAD 5 - 2025.docx para primaria
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
Atencion prenatal. Ginecologia y obsetricia
Escuelas Desarmando una mirada subjetiva a la educación
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
V UNIDAD - PRIMER GRADO. del mes de agosto
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
Didactica de la Investigacion Educativa SUE Ccesa007.pdf

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 =