%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/pdbedit.pyo

�
���^c@@s?dZddlmZmZmZddlZddlZddlZyddlm	Z
Wn!ek
r}ddlm	Z
nXddl
mZddlZeje�ZdZidd6d	d
6Zd�Zd�Zeed
�Zed�Zd�Zeed�Zdeddddddddddeed�ZdS(u�
Manage accounts in Samba's passdb using pdbedit

:maintainer:    Jorge Schrauwen <sjorge@blackdot.be>
:maturity:      new
:platform:      posix

.. versionadded:: 2017.7.0
i(tabsolute_importtprint_functiontunicode_literalsN(tquote(tsixupdbeditulistu
list_usersugetuget_usercC@s,tjjjd�rtStdjt�fS(u'
    Provides pdbedit if available
    updbeditu7{0} module can only be loaded when pdbedit is available(tsalttutilstpathtwhicht__virtualname__tFalsetformat(((s8/usr/lib/python2.7/site-packages/salt/modules/pdbedit.pyt__virtual__&s
cC@s.tjtjd|jd��j��j�S(u}
    Generate a NT HASH

    CLI Example:

    .. code-block:: bash

        salt '*' pdbedit.generate_nt_hash my_passwd
    umd4uutf-16le(tbinasciithexlifythashlibtnewtencodetdigesttupper(tpassword((s8/usr/lib/python2.7/site-packages/salt/modules/pdbedit.pytgenerate_nt_hash4s
cC@s�|ring}|r@tddjd|r4dnd��}|ddkr{tjd|krl|dn|d	�|Si}x�|d	j�D]�}|jd
�r�d|kr�|||d<ni}q�d|kr�||jd� j�j�}||jd�d
j�}|||<q�q�W|r�|||d<q�n�tdd�}|ddkr�id|kry|dn|d	d6Sx_|d	j�D]M}d|kr�q�n|j	d�}t
|�dkr�|j|d�q�q�W|S(u�
    List user accounts

    verbose : boolean
        return all information
    hashes : boolean
        include NT HASH and LM HASH in verbose output

    CLI Example:

    .. code-block:: bash

        salt '*' pdbedit.list
    ucmd.run_allu!pdbedit --list --verbose {hashes}thashesu--smbpasswd-styleuuretcodeiustderrustdoutu-u
unix usernameu:iupdbedit --listuErrori(t__salt__Rtlogterrort
splitlinest
startswithtindextstriptlowertsplittlentappend(tverboseRtuserstrest	user_datatusertlabeltdata((s8/usr/lib/python2.7/site-packages/salt/modules/pdbedit.pyt
list_usersFs:!'	%cC@s-tdtd|�}||kr)||SiS(u�
    Get user account details

    login : string
        login name
    hashes : boolean
        include NTHASH and LMHASH in verbose output

    CLI Example:

    .. code-block:: bash

        salt '*' pdbedit.get kaylee
    R"R(R)tTrue(tloginRR#((s8/usr/lib/python2.7/site-packages/salt/modules/pdbedit.pytget_userscC@s|tt�krttddjdt|���}|ddkriid|kr]|dn|d|6Sid|6Sid	|6S(
u�
    Delete user account

    login : string
        login name

    CLI Example:

    .. code-block:: bash

        salt '*' pdbedit.delete wash
    ucmd.run_allupdbedit --delete {login}R+uretcodeiustderrustdoutudeleteduabsent(R)R
RRt_quote_args(R+R$((s8/usr/lib/python2.7/site-packages/salt/modules/pdbedit.pytdelete�s
%cC@skd}|r!|j�}d}nt|�}|tt�kr�tdddjdt|�d|rjdnd�d	d
jd|��}|dd
kr�id|kr�|dn|d|6Sd}nt|t�}|d|kr`tddjdt|�dt|���}|dd
krHid|kr<|dn|d|6S|dkr`d}q`ni||6S(u�
    Create user account

    login : string
        login name
    password : string
        password
    password_hashed : boolean
        set if password is a nt hash instead of plain text
    machine_account : boolean
        set to create a machine trust account instead

    CLI Example:

    .. code-block:: bash

        salt '*' pdbedit.create zoe 9764951149F84E770889011E1DC4A927 nthash
        salt '*' pdbedit.create river  1sw4ll0w3d4bug
    u	unchangeduucmd.run_alltcmdu,pdbedit --create --user {login} -t {machine}R+tmachineu	--machinetstdinu{password}
{password}
Ruretcodeiustderrustdoutucreatedunt hashu6pdbedit --modify --user {login} --set-nt-hash={nthash}tnthashuupdated(	RRR)R
RRR-R,R*(R+Rtpassword_hashedtmachine_accounttrett
password_hashR$R&((s8/usr/lib/python2.7/site-packages/salt/modules/pdbedit.pytcreate�s2	
	%		%cC@szd}i
dd6dd6dd6dd	6d
d6dd
6dd6dd6dd6dd6}i
|d6|d6|	d6|d	6|d6|d
6|d6|
d6|d6|d6}|r�t|||�|}|d5kr�i||6Sn|tt�kr�id|6St|dt�}i}xW|j�D]I\}}|d6kr||d7k	r_||kr_||jtj	|��r_tj	|�||<q_q|d8kr*|d7k	r_|j
d�r�|dd!}ng}xI|j�D];}|d9kr�tj
d"jd#|��q�|j|�q�Wd$jd%d&j|��||<q_q|d7k	r||kr|||kr|||<qqWt|�d'ks�|
s�|rog}x;|D]3}|jd(jd)||d*t||���q�W|
r�|jd+�n|r�|jd,�ntd-d.jd/t|�d0d1j|���}|d2d'krWid3|krK|d3n|d4|6S|dkrod}qoni||6S(:u�
    Modify user account

    login : string
        login name
    password : string
        password
    password_hashed : boolean
        set if password is a nt hash instead of plain text
    domain : string
        users domain
    profile : string
        profile path
    script : string
        logon script
    drive : string
        home drive
    homedir : string
        home directory
    fullname : string
        full name
    account_desc : string
        account description
    machine_sid : string
        specify the machines new primary group SID or rid
    user_sid : string
        specify the users new primary group SID or rid
    account_control : string
        specify user account control properties

        .. note::
            Only the following can be set:
            - N: No password required
            - D: Account disabled
            - H: Home directory required
            - L: Automatic Locking
            - X: Password does not expire
    reset_login_hours : boolean
        reset the users allowed logon hours
    reset_bad_password_count : boolean
        reset the stored bad login counter

    .. note::
        if user is absent and password is provided, the user will be created

    CLI Example:

    .. code-block:: bash

        salt '*' pdbedit.modify inara fullname='Inara Serra'
        salt '*' pdbedit.modify simon password=r1v3r
        salt '*' pdbedit.modify jane drive='V:' homedir='\\serenity\jane\profile'
        salt '*' pdbedit.modify mal account_control=NX
    u	unchangedu	--domain=udomainu--fullname=u	full nameu--account-desc=uaccount descu
--homedir=uhome directoryu--drive=u
homedir driveu
--profile=uprofile pathu	--script=ulogon scriptu--account-control=u
account flagsu-U uuser sidu-M umachine siduupdateducreateduabsentRu[ii����uNuDuHuLuXu>pdbedit.modify - unknown {f} flag for account_control, ignoredtfu	[{flags}]tflagsuiu
{flag}{value}tflagtvalueu--logon-hours-resetu--bad-password-count-resetucmd.run_allu)pdbedit --modify --user {login} {changes}R+tchangesu uretcodeustderrustdout(uupdateducreatedu	unchanged(uuser sidumachine sidN(u
account flags(uNuDuHuLuX(R7R)R
R,R*titemstNonetendswithRt	text_typeRRRtwarningRR!tjoinR R-R(R+RR3tdomaintprofiletscripttdrivethomedirtfullnametaccount_desctaccount_controltmachine_sidtuser_sidtreset_login_hourstreset_bad_password_countR5R9tprovidedtcurrentR<tkeytvalRR8tcmdstchangeR$((s8/usr/lib/python2.7/site-packages/salt/modules/pdbedit.pytmodify�s�>

5%(

	%( t__doc__t
__future__RRRtloggingRR
tshlexRR-tImportErrortpipestsalt.extRtsalt.utils.pathRt	getLoggert__name__RR	t__func_alias__RRR*R
R)R,R.R7R>RU(((s8/usr/lib/python2.7/site-packages/salt/modules/pdbedit.pyt<module>
s6

		9	A		

Zerion Mini Shell 1.0