Modification de getlogin en pwd.getpwuid(os.getuid())[0]
darcs-hash:20040910132908-d1718-61b89fc455a3a225abac8562e81724538a3a57f2.gz
This commit is contained in:
parent
d0c09e1953
commit
a1b52e559d
4 changed files with 50 additions and 9 deletions
41
gestion/user_tests.py
Executable file
41
gestion/user_tests.py
Executable file
|
@ -0,0 +1,41 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: iso-8859-15 -*-
|
||||
|
||||
""" Fonctions de tests sur l'utilisateur
|
||||
|
||||
Copyright (C) Frédéric Pauget
|
||||
Licence : GPLv2
|
||||
"""
|
||||
|
||||
import os, commands, pwd
|
||||
|
||||
def isroot():
|
||||
""" Retourne True si l'utilisateur lancant le script est root """
|
||||
return os.getuid() == 0
|
||||
|
||||
def issys(login=''):
|
||||
""" Retourne True si l'utilisateur est système (uid<500)
|
||||
Si login='', prend l'utilisateur loggué """
|
||||
if login == '' : login = pwd.getpwuid(os.getuid())[0]
|
||||
return int(commands.getoutput("id -u %s" % login)) <500
|
||||
|
||||
def groups(login='') :
|
||||
""" Retourne liste des groupes (gid) auquels appartient l'utilisateur
|
||||
fourni, si aucun utilisateur est founit prend l'utilisateur loggué """
|
||||
if login == '' : login = pwd.getpwuid(os.getuid())[0]
|
||||
return commands.getoutput('id -G %s' % login).split()
|
||||
|
||||
def isadm(login='') :
|
||||
""" Retourne True si l'utilisateur est dans le groupe 4 (adm)
|
||||
Si login='', prend l'utilisateur loggué """
|
||||
return '4' in groups(login)
|
||||
|
||||
def isdeconnecteur(login='') :
|
||||
""" Retourne True si l'utilisateur est dans le groupe 110 (disconnect)
|
||||
Si login='', prend l'utilisateur loggué """
|
||||
return isadm(login) or '610' in groups(login)
|
||||
|
||||
def iscableur(login='') :
|
||||
""" Retourne True si l'utilisateur est dans le groupe 104 (respbat)
|
||||
Si login='', prend l'utilisateur loggué """
|
||||
return isadm(login) or '604' in groups(login)
|
Loading…
Add table
Add a link
Reference in a new issue