Foros del Web » Programando para Internet » Python »

abrir /etc/shadow

Estas en el tema de abrir /etc/shadow en el foro de Python en Foros del Web. Hola! Estoy haciendo un script y tengo una duda sobre lectura de /etc/shadow Quiero saber de los usuarios que tiene el sistema, cuales tienen password, ...
  #1 (permalink)  
Antiguo 31/12/2012, 11:39
 
Fecha de Ingreso: abril-2010
Mensajes: 78
Antigüedad: 12 años, 2 meses
Puntos: 0
abrir /etc/shadow

Hola!

Estoy haciendo un script y tengo una duda sobre lectura de /etc/shadow

Quiero saber de los usuarios que tiene el sistema, cuales tienen password, lo tengo listo solo que no se si seria la forma correcta, ya que para acceder cambio los permisos de /etc/shadow y al acabar vuelvo a darle los que tenia

Este es mi código:
Código:
os.system('echo %s|sudo -S %s' % (str(contra), 'sudo chmod o+r /etc/shadow'))
f=open('/etc/shadow' , 'r')
for text in f.readlines():
	txt=text.split(':')[0]
	tiene_pass=text.split(':')[1]
	if len(tiene_pass)>5:
		l1f3.insert(END,txt)
f.close()
os.system('echo %s|sudo -S %s' % (str(contra), 'sudo chmod o-r /etc/shadow'))
Hay alguna otra forma menos "chapucera"?

Muchas gracias!


FELIZ AÑO!
  #2 (permalink)  
Antiguo 31/12/2012, 12:11
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 17 años, 3 meses
Puntos: 1360
Respuesta: abrir /etc/shadow

Solamente ejecuta este script como root

Código:
# python usuarios_con_password.py
Código Python:
Ver original
  1. # usuarios_con_password.py
  2. import spwd
  3.  
  4. for user in spwd.getspall():
  5.     if user.sp_pwd not in ('!', '*'):
  6.         print user.sp_nam
  #3 (permalink)  
Antiguo 01/01/2013, 13:21
 
Fecha de Ingreso: abril-2010
Mensajes: 78
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: abrir /etc/shadow

Cita:
Iniciado por razpeitia Ver Mensaje
Solamente ejecuta este script como root

Código:
# python usuarios_con_password.py
Código Python:
Ver original
  1. # usuarios_con_password.py
  2. import spwd
  3.  
  4. for user in spwd.getspall():
  5.     if user.sp_pwd not in ('!', '*'):
  6.         print user.sp_nam
Va de lujo!!! Me complico la vida, no sabia de la existencia de 'spwd'

Muchas gracias de nuevo!
  #4 (permalink)  
Antiguo 04/01/2013, 09:01
 
Fecha de Ingreso: abril-2010
Mensajes: 78
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: abrir /etc/shadow

Tengo una duda, como que con Ubuntu va perfecto y con Xubuntu no funciona?

Gracias!
  #5 (permalink)  
Antiguo 04/01/2013, 11:08
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 17 años, 3 meses
Puntos: 1360
Respuesta: abrir /etc/shadow

Y que no funciona?
Algún mensaje de error?
Debería de funcionar igual.
  #6 (permalink)  
Antiguo 08/01/2013, 10:55
 
Fecha de Ingreso: abril-2010
Mensajes: 78
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: abrir /etc/shadow

Hola

Perdona la tardanza, he estado fuera

Bueno, simplemente no sale nada por pantalla, tampoco da ningún error



Un saludo!
  #7 (permalink)  
Antiguo 08/01/2013, 12:20
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 17 años, 3 meses
Puntos: 1360
Respuesta: abrir /etc/shadow

Cita:
Iniciado por j4v1 Ver Mensaje
Hola

Perdona la tardanza, he estado fuera

Bueno, simplemente no sale nada por pantalla, tampoco da ningún error



Un saludo!
Entonces tal vez todos los usuarios tienen contraseña.
  #8 (permalink)  
Antiguo 10/01/2013, 13:42
 
Fecha de Ingreso: abril-2010
Mensajes: 78
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: abrir /etc/shadow

Cita:
Iniciado por razpeitia Ver Mensaje
Entonces tal vez todos los usuarios tienen contraseña.
Hola, he estado investigando y en debian tampoco funciona. Y mirando el shadow hay muchos * y !

Quizás sea un modulo o una librería que solo viene por defecto en ubuntu?


Gracias!



Saludos,
Javi
  #9 (permalink)  
Antiguo 10/01/2013, 13:53
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 17 años, 3 meses
Puntos: 1360
Respuesta: abrir /etc/shadow

No en la documentación dice que sirve para cualquier unix.

Otra muy importante que te debi marcar en negritas es que el script debe de ser ejecutados con permisos de superusuario.

Osea
Código:
sudo python scrip.py
  #10 (permalink)  
Antiguo 11/01/2013, 12:48
 
Fecha de Ingreso: abril-2010
Mensajes: 78
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: abrir /etc/shadow

Cita:
Iniciado por razpeitia Ver Mensaje
No en la documentación dice que sirve para cualquier unix.

Otra muy importante que te debi marcar en negritas es que el script debe de ser ejecutados con permisos de superusuario.

Osea
Código:
sudo python scrip.py

Pues era eso jejejeje!

Ahora me surge un problemita, y es que he puesto este código en un fichero python con varias funciones y tal, y este código al ponerlo en una función y llamarla como no tiene root no hace nada, como podría llamar a una función como root?


Muchas gracias


Saludos!!!
  #11 (permalink)  
Antiguo 14/01/2013, 07:35
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: abrir /etc/shadow

No se puede llamar a una función como root. Los privilegios son para el programa entero.

Si pusiste la función en un archivo, digamos "funciones", y ese archivo NO tiene código fuera de funciones o clases, podrías hacer otro programa que contenga

Código Python:
Ver original
  1. from funciones import mi_funcion
  2. mi_funcion()

La parte de que el archivo no contenga código fuera de funciones es para que nada se ejecute al importar el módulo, ya que podrías obtener resultados inesperados.


Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:31.