%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python2.7/site-packages/salt/modules/
Upload File :
Create Path :
Current File : //usr/lib/python2.7/site-packages/salt/modules/rbac_solaris.pyo

�
���^c@@s�dZddlmZmZmZddlZddlZddlZej	e
�ZdZd�Z
ed�Zed�Zd�Zd	�Zd
�Zd�Zd�Zd
�Zd�Zed�Zd�Zd�ZdS(u/
Module for Solaris' Role-Based Access Control
i(tabsolute_importtunicode_literalstprint_functionNurbaccC@s<tddkr)tjjjd�r)tStdjt�fS(uB
    Provides rbac if we are running on a solaris like system
    ukerneluSunOSuprofilesu6{0} module can only be loaded on a solaris like system(t
__grains__tsalttutilstpathtwhicht__virtualname__tFalsetformat(((s=/usr/lib/python2.7/site-packages/salt/modules/rbac_solaris.pyt__virtual__s
%c
C@sbi}dg}tjjjdd��u}xk|D]c}tjjj|�}|jd�}|dj�dkr1|j|dj�jd��q1q1WWd	QXtjjjd
d��f}x\|D]T}tjjj|�}|jd�}t	|�dkrq�n|d
||d<q�WWd	QX|r^x7g|D]}||kr.|^q.D]
}||=qJWn|S(u�
    List all available profiles

    default_only : boolean
        return only default profile

    CLI Example:

    .. code-block:: bash

        salt '*' rbac.profile_list
    uAllu/etc/security/policy.confuru=iu
PROFS_GRANTEDiu,Nu/etc/security/prof_attru:ii(
RRtfilestfopentstringutilst
to_unicodetsplittstriptextendtlen(tdefault_onlytprofilestdefault_profilestpolicy_conftpolicyt	prof_attrtprofiletp((s=/usr/lib/python2.7/site-packages/salt/modules/rbac_solaris.pytprofile_list"s&
	
-
,c	
C@svg}tjjjdd��}x�|D]�}tjjj|�}|j�jd�}t|�dkrpq(n|d|kr�q(ni}xn|dj�jd�D]S}|j�jd�\}}|dkr�|j�jd�||<q�|||<q�Wd
|kr(|j	|d
�q(q(WWd
QX|rfx6t
dt�D]"}||kr=|j|�q=q=Wnt
t|��S(u

    List profiles for user

    user : string
        username
    default_hidden : boolean
        hide default profiles

    CLI Example:

    .. code-block:: bash

        salt '*' rbac.profile_get leo
        salt '*' rbac.profile_get leo default_hidden=False
    u/etc/user_attruru:iiiu;u=uauthsuprofilesurolesu,NR(uauthsuprofilesuroles(RRRR
RRRRRRRtTruetremovetlisttset(	tusertdefault_hiddent
user_profilest	user_attrRtattrstattrtattr_keytattr_val((s=/usr/lib/python2.7/site-packages/salt/modules/rbac_solaris.pytprofile_getOs,
 c		C@sYi}|jd�}t�j�}g|D]}||kr+|^q+}tjd|||�t|�dkr�tddjd|ddjt	t
|�|����}|ddkr�i|dd6d	|kr�|d	n|d
d6|d<|Snt
|t�}xJ|D]B}||kr.d
||<q||krGd||<qd||<qW|S(u$
    Add profile to user

    user : string
        username
    profile : string
        profile name

    CLI Example:

    .. code-block:: bash

        salt '*' rbac.profile_add martine 'Primary Administrator'
        salt '*' rbac.profile_add martine 'User Management,User Security'
    u,uDrbac.profile_add - profiles=%s, known_profiles=%s, valid_profiles=%siucmd.run_alluusermod -P "{profiles}" {login}tloginRuretcodeustderrustdoutumessageuErroruUnknownuAddeduFailed(RRtkeystlogtdebugRt__salt__R
tjoinR R)R	(	R!RtretRtknown_profilesRtvalid_profilestrestactive_profiles((s=/usr/lib/python2.7/site-packages/salt/modules/rbac_solaris.pytprofile_add�s4%%(


c	
C@sni}|jd�}t�j�}g|D]}||kr+|^q+}tjd|||�t|�dkrtddjd|ddjgt	|�D]}||kr�|^q����}|ddkri|dd6d	|kr�|d	n|d
d6|d<|Snt	|t
�}xJ|D]B}||krCd
||<q$||kr\d||<q$d||<q$W|S(u#
    Remove profile from user

    user : string
        username
    profile : string
        profile name

    CLI Example:

    .. code-block:: bash

        salt '*' rbac.profile_rm jorge 'Primary Administrator'
        salt '*' rbac.profile_rm jorge 'User Management,User Security'
    u,uCrbac.profile_rm - profiles=%s, known_profiles=%s, valid_profiles=%siucmd.run_alluusermod -P "{profiles}" {login}R*RuretcodeustderrustdoutumessageuErroruUnknownuFaileduRemove(RRR+R,R-RR.R
R/R)R	(	R!RR0RR1RR2R3R4((s=/usr/lib/python2.7/site-packages/salt/modules/rbac_solaris.pyt
profile_rm�s4%:(


c
C@s+i}tjjjdd��}x�|D]�}tjjj|�}|jd�}t|�dkrjq(ni}x\|djd�D]G}|jd�\}}|dkr�|jd�||<q�|||<q�W||d<d|dkr(|ddd
kr(|dd=|d||d<q(q(WWdQX|S(uo
    List all available roles

    CLI Example:

    .. code-block:: bash

        salt '*' rbac.role_list
    u/etc/user_attruru:iiu;u=uauthsuprofilesurolesu,utypeuroleiN(uauthsuprofilesuroles(RRRR
RRRR(trolesR$troleR%R&R'R(((s=/usr/lib/python2.7/site-packages/salt/modules/rbac_solaris.pyt	role_list�s$


$c
C@s=g}tjjjdd��
}x|D]�}tjjj|�}|j�j�jd�}t|�dkrvq(n|d|kr�q(ni}xn|dj�jd�D]S}|j�jd�\}}|dkr�|j�jd�||<q�|||<q�Wd|kr(|j	|d�q(q(WWd
QXt
t|��S(u�
    List roles for user

    user : string
        username

    CLI Example:

    .. code-block:: bash

        salt '*' rbac.role_get leo
    u/etc/user_attruru:iiiu;u=uauthsuprofilesurolesu,N(uauthsuprofilesuroles(RRRR
RRRRRRRR (R!t
user_rolesR$R8R%R&R'R(((s=/usr/lib/python2.7/site-packages/salt/modules/rbac_solaris.pytrole_gets$

 c		C@sVi}|jd�}t�j�}g|D]}||kr+|^q+}tjd|||�t|�dkr�tddjd|ddjt	t
|�|����}|ddkr�i|dd6d	|kr�|d	n|d
d6|d<|Snt
|�}xJ|D]B}||kr+d
||<q||krDd||<qd||<qW|S(u�
    Add role to user

    user : string
        username
    role : string
        role name

    CLI Example:

    .. code-block:: bash

        salt '*' rbac.role_add martine netcfg
        salt '*' rbac.role_add martine netcfg,zfssnap
    u,u8rbac.role_add - roles=%s, known_roles=%s, valid_roles=%siucmd.run_alluusermod -R "{roles}" {login}R*R7uretcodeustderrustdoutumessageuErroruUnknownuAddeduFailed(RR9R+R,R-RR.R
R/R R;(	R!R8R0R7tknown_rolestrtvalid_rolesR3tactive_roles((s=/usr/lib/python2.7/site-packages/salt/modules/rbac_solaris.pytrole_addDs4%%(


c	
C@ski}|jd�}t�j�}g|D]}||kr+|^q+}tjd|||�t|�dkrtddjd|ddjgt	|�D]}||kr�|^q����}|ddkri|dd6d	|kr�|d	n|d
d6|d<|Snt	|�}xJ|D]B}||kr@d
||<q!||krYd||<q!d||<q!W|S(u�
    Remove role from user

    user : string
        username
    role : string
        role name

    CLI Example:

    .. code-block:: bash

        salt '*' rbac.role_rm jorge netcfg
        salt '*' rbac.role_rm jorge netcfg,zfssnap
    u,u7rbac.role_rm - roles=%s, known_roles=%s, valid_roles=%siucmd.run_alluusermod -R "{roles}" {login}R*R7uretcodeustderrustdoutumessageuErroruUnknownuFaileduRemove(
RR9R+R,R-RR.R
R/R;(	R!R8R0R7R<R=R>R3R?((s=/usr/lib/python2.7/site-packages/salt/modules/rbac_solaris.pytrole_rm{s4%:(


c	C@s�i}tjjjdd���}x�|D]�}tjjj|�}|jd�}t|�dkrjq(n|dddkr�dj|d�|d<n|d	||d<q(WWd
QX|S(uw
    List all available authorization

    CLI Example:

    .. code-block:: bash

        salt '*' rbac.auth_list
    u/etc/security/auth_attruru:iii����u.u{0}*iN(	RRRR
RRRRR
(tauthst	auth_attrtauth((s=/usr/lib/python2.7/site-packages/salt/modules/rbac_solaris.pyt	auth_list�s

c

C@s�g}tjjjdd��}x�|D]�}tjjj|�}|j�jd�}t|�dkrpq(n|d|kr�q(ni}xn|dj�jd�D]S}|j�jd�\}}|dkr�|j�jd�||<q�|||<q�Wd	|kr(|j	|d	�q(q(WWd
QX|r�t
ddj|��}	|	ddkr�xY|	dj�D]D}d|kr�|j	|j�jd��qg|j
|j��qgWq�ntt|��S(u�
    List authorization for user

    user : string
        username
    computed : boolean
        merge results from `auths` command into data from user_attr

    CLI Example:

    .. code-block:: bash

        salt '*' rbac.auth_get leo
    u/etc/user_attruru:iiiu;u=uauthsuprofilesurolesu,Nucmd.run_allu	auths {0}uretcodeustdout(uauthsuprofilesuroles(RRRR
RRRRRRR.R
t
splitlinestappendRR (
R!tcomputedt
user_authsR$RDR%R&R'R(R3((s=/usr/lib/python2.7/site-packages/salt/modules/rbac_solaris.pytauth_get�s2
 c

C@s\i}|jd�}t�j�}g|D]}||kr+|^q+}tjd|||�t|�dkr�tddjd|ddjt	t
|t�|����}|ddkr�i|dd6d	|kr�|d	n|d
d6|d<|Snt
|t�}xJ|D]B}	|	|kr1d
||	<q|	|krJd||	<qd||	<qW|S(u*
    Add authorization to user

    user : string
        username
    auth : string
        authorization name

    CLI Example:

    .. code-block:: bash

        salt '*' rbac.auth_add martine solaris.zone.manage
        salt '*' rbac.auth_add martine solaris.zone.manage,solaris.mail.mailq
    u,u8rbac.auth_add - auths=%s, known_auths=%s, valid_auths=%siucmd.run_alluusermod -A "{auths}" {login}R*RBuretcodeustderrustdoutumessageuErroruUnknownuAddeduFailed(RRER+R,R-RR.R
R/R RJR	(
R!RDR0RBtknown_authsR=tvalid_authsR3tactive_authsta((s=/usr/lib/python2.7/site-packages/salt/modules/rbac_solaris.pytauth_adds4%((


c	
C@sqi}|jd�}t�j�}g|D]}||kr+|^q+}tjd|||�t|�dkrtddjd|ddjgt	|t
�D]}||kr�|^q����}|ddkri|dd6d	|kr�|d	n|d
d6|d<|Snt	|t
�}xJ|D]B}||krFd
||<q'||kr_d||<q'd||<q'W|S(u)
    Remove authorization from user

    user : string
        username
    auth : string
        authorization name

    CLI Example:

    .. code-block:: bash

        salt '*' rbac.auth_rm jorge solaris.zone.manage
        salt '*' rbac.auth_rm jorge solaris.zone.manage,solaris.mail.mailq
    u,u7rbac.auth_rm - auths=%s, known_auths=%s, valid_auths=%siucmd.run_alluusermod -A "{auths}" {login}R*RBuretcodeustderrustdoutumessageuErroruUnknownuFaileduRemove(RRER+R,R-RR.R
R/RJR	(	R!RDR0RBRKRNRLR3RM((s=/usr/lib/python2.7/site-packages/salt/modules/rbac_solaris.pytauth_rm>s4%=(


(t__doc__t
__future__RRRtloggingtsalt.utils.filesRtsalt.utils.patht	getLoggert__name__R,RRR	RRR)R5R6R9R;R@RARERJRORP(((s=/usr/lib/python2.7/site-packages/salt/modules/rbac_solaris.pyt<module>s&	-4	7	7	(	+	7	7	7	7

Zerion Mini Shell 1.0