scripts/gestion/user_tests.py
bos 46134cc2f7 Deconnecteur -> Bureau
darcs-hash:20070413000131-c992d-f98379051ed220111632e5a3fd2b6a96105fd320.gz
2007-04-13 02:01:31 +02:00

38 lines
1.2 KiB
Python
Executable file

#!/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 getuser() :
""" Retourne l'utilisateur lancant les scripts """
user = os.getenv('SUDO_USER')
if not user :
user = pwd.getpwuid(os.getuid())[0]
return user
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 = getuser()
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) or '0' in groups(login)
def isdeconnecteur(login='') :
""" Retourne True si l'utilisateur est dans le groupe 611 (bureau)
Si login='', prend l'utilisateur loggué """
return isadm(login) or '611' in groups(login)
def iscableur(login='') :
""" Retourne True si l'utilisateur est dans le groupe 604 (respbat)
Si login='', prend l'utilisateur loggué """
return isadm(login) or '604' in groups(login)