1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
#!/usr/bin/python
# -*-coding:Latin-1 -*
# Import lib
import xmlrpclib
# Satellite connection
SATELLITE_URL = "http://martinique.hq.ep.corp.local/rpc/api"
SATELLITE_LOGIN = "admin-integration"
SATELLITE_PASSWORD = "admin-integration"
client = xmlrpclib.Server(SATELLITE_URL, verbose=0)
key = client.auth.login(SATELLITE_LOGIN, SATELLITE_PASSWORD)
# Je liste mes stations
# "print list_systems" me donne en sortie : "NomStation45, NomStation2, NomStation78, NomStation1....etc"
list_systems = client.system.listSystems(key)
# Pour chaque system de ma liste de systeme
# je souhaite avoir le Nom de la station et son ID
for system in list_systems:
# Nom de la station
SYSNAME = system["name"]
list_id = client.system.getId(key,SYSNAME)
# ID
id = list_id[0]['id']
# Ensuite je liste mes fichiers
# "print list_files" me donne en sortie tous les paramètres qui correspond à :
# string "type"
# file
# directory
# symlink
# string "path" - File Path
# string "channel_label"
list_files = client.system.config.listFiles(key,id,1)
# Pour chaque element de ma liste de fichiers
# je souhaite avoir que la liste des fichiers de toutes les stations
# Et parmi cette liste que les fichiers "etc/sudoers" et "etc/centrifydc/user.allow"
for element in list_files:
# Tous mes fichiers
PATH = element["path"]
# Seulement les fichiers "etc/sudoers" et users.allow
if PATH == "/etc/sudoers" or PATH == "/etc/centrifydc/users.allow" :
# Resultat en sortie "
print "%s : %s : %s " % (SYSNAME, id, PATH)
client.auth.logout(key) |