??????????????
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 173

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 174

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 175

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 176

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 177

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 178
ó àUdac@`s‰ddlmZmZmZeZidd6dgd6dd6ZdZd Zdd l Z dd l Z dd l m Z dd l mZmZd efd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd „ƒYZd!„Zed"kr…eƒnd S(#i(tabsolute_importtdivisiontprint_functions1.1tmetadata_versiontstableinterfacetstatustcoret supported_byss --- module: group version_added: "0.0.2" short_description: Add or remove groups requirements: - groupadd - groupdel - groupmod description: - Manage presence of groups on a host. - For Windows targets, use the M(win_group) module instead. options: name: description: - Name of the group to manage. type: str required: true gid: description: - Optional I(GID) to set for the group. type: int state: description: - Whether the group should be present or not on the remote host. type: str choices: [ absent, present ] default: present system: description: - If I(yes), indicates that the group created is a system group. type: bool default: no local: description: - Forces the use of "local" command alternatives on platforms that implement it. - This is useful in environments that use centralized authentication when you want to manipulate the local groups. (e.g. it uses C(lgroupadd) instead of C(groupadd)). - This requires that these commands exist on the targeted host, otherwise it will be a fatal error. type: bool default: no version_added: "2.6" non_unique: description: - This option allows to change the group ID to a non-unique value. Requires C(gid). - Not supported on macOS or BusyBox distributions. type: bool default: no version_added: "2.8" seealso: - module: user - module: win_group author: - Stephen Fromm (@sfromm) sY - name: Ensure group "somegroup" exists group: name: somegroup state: present N(tto_bytes(t AnsibleModuletload_platform_subclasstGroupcB`sqeZdZdZd ZdZd„Zd„Zd„Z d„Z d„Z d„Z d „Z d „Zd „ZRS( s- This is a generic Group manipulation class that is subclassed based on platform. A subclass may wish to override the following action methods:- - group_del() - group_add() - group_mod() All subclasses MUST define platform and distribution (which may be None). tGenerics /etc/groupcO`stt||ƒS(N(R R (tclstargstkwargs((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyt__new__escC`sm||_|jd|_|jd|_|jd|_|jd|_|jd|_|jd|_dS(Ntstatetnametgidtsystemtlocalt non_unique(tmoduletparamsRRRRRR(tselfR((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyt__init__hs cC`s|jj|ƒS(N(Rt run_command(Rtcmd((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pytexecute_commandqscC`sC|jrd}nd}|jj|tƒ|jg}|j|ƒS(Nt lgroupdeltgroupdel(RRt get_bin_pathtTrueRR(Rt command_nameR((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyt group_delts   cC`ss|jroxctjƒD]R}|j|jkr|j|jkr|jjddj|j|jƒƒqqWndS(Ntmsgs)GID '{0}' already exists with group '{1}'( Rtgrptgetgralltgr_gidRtgr_nameRt fail_jsontformat(Rtgr((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyt_local_check_gid_exists|s $cK`sð|jrd}|jƒnd}|jj|tƒg}x–|D]Ž}|dkr£||dk r£|jdƒ|jt||ƒƒ|jrÏ|jdƒqÏqA|dkrA||tkrA|jdƒqAqAW|j|j ƒ|j |ƒS(Nt lgroupaddtgroupaddRs-gs-oRs-r( RR,RR R!tNonetappendtstrRRR(RRR"Rtkey((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyt group_add‚s     cK`s|jrd}|jƒnd}|jj|tƒg}|jƒ}x‡|D]}|dkrM||dk rÌ|dt||ƒkrÌ|jdƒ|jt ||ƒƒ|j rÉ|jdƒqÉqÌqMqMWt |ƒdkræd S|jj röd S|j|j ƒ|j|ƒS( Nt lgroupmodtgroupmodRis-gs-oiti(NR6R6(iR6R6(RR,RR R!t group_infoR/tintR0R1Rtlent check_modeRR(RRR"RtinfoR2((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyt group_mod”s&     *   cC`s|jrètjj|jƒs@|jjddj|jƒƒnt}dj|j ƒ}t |jdƒP}|j ƒddd…}x-|D]%}|j t |ƒƒrt}PqqWWdQX|sä|jjdjd|jƒƒn|Sytj|j ƒrtSWntk rtSXdS(NR$sI'local: true' specified but unable to find local group file {0} to parse.s{0}:trbiÿÿÿÿsœ'local: true' specified and group was not found in {file}. The local group may already exist if the local group database exists somewhere other than {file}.tfile(Rtostpathtexistst GROUPFILERR)R*tFalseRtopent readlinest startswithRR!twarnR%tgetgrnamtKeyError(RRAt name_testtftreversed_linestline((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyt group_existsªs* "    cC`sE|jƒstSyttj|jƒƒ}Wntk r@tSX|S(N(RNRCtlistR%RHRRI(RR;((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR7Ês  N(t__name__t __module__t__doc__tplatformR/t distributionRBRRRR#R,R3R<RNR7(((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR Ts        tSunOScB`s)eZdZdZdZdZd„ZRS(sÁ This is a SunOS Group manipulation class. Solaris doesn't have the 'system' group concept. This overrides the following methods from the generic class:- - group_add() RUs /etc/groupcK`s¢|jjdtƒg}xj|D]b}|dkr||dk r|jdƒ|jt||ƒƒ|jr|jdƒqqqW|j|jƒ|j|ƒS(NR.Rs-gs-o( RR R!R/R0R1RRR(RRRR2((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR3ãs   N(RPRQRRRSR/RTRBR3(((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyRUÖs tAIXcB`s;eZdZdZdZdZd„Zd„Zd„Z RS(s° This is a AIX Group manipulation class. This overrides the following methods from the generic class:- - group_del() - group_add() - group_mod() RVs /etc/groupcC`s+|jjdtƒ|jg}|j|ƒS(Ntrmgroup(RR R!RR(RR((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR#ÿscK`s¬|jjdtƒg}xt|D]l}|dkr_||dk r_|jdt||ƒƒq|dkr||tkr|jdƒqqW|j|jƒ|j|ƒS(NtmkgroupRsid=Rs-a(RR R!R/R0R1RR(RRRR2((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR3s cK`sÏ|jjdtƒg}|jƒ}xe|D]]}|dkr+||dk rˆ|dt||ƒkrˆ|jdt||ƒƒqˆq+q+Wt|ƒdkr¢dS|jj r²d S|j|j ƒ|j |ƒS( NtchgroupRisid=iR6i(NR6R6(iR6R6( RR R!R7R/R8R0R1R9R:RR(RRRR;R2((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR< s   *% N( RPRQRRRSR/RTRBR#R3R<(((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyRVñs  t FreeBsdGroupcB`s;eZdZdZdZdZd„Zd„Zd„Z RS(s´ This is a FreeBSD Group manipulation class. This overrides the following methods from the generic class:- - group_del() - group_add() - group_mod() tFreeBSDs /etc/groupcC`s.|jjdtƒd|jg}|j|ƒS(NtpwR(RR R!RR(RR((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR#,s!cK`s||jjdtƒd|jg}|jdk ro|jdƒ|jt|jƒƒ|jro|jdƒqon|j |ƒS(NR\R.s-gs-o( RR R!RRR/R0R1RR(RRR((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR30s!  cK`sÓ|jjdtƒd|jg}|jƒ}t|ƒ}|jdk r t|jƒ|dkr |j dƒ|j t |jƒƒ|j r |j dƒq n|t|ƒkrÏ|jj rÂdS|j |ƒSd S( NR\R5is-gs-oiR6(iR6R6(NR6R6(RR R!RR7R9RR/R8R0R1RR:R(RRRR;tcmd_len((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR<9s!  (    N( RPRQRRRSR/RTRBR#R3R<(((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyRZs  tDragonFlyBsdGroupcB`seZdZdZRS(sq This is a DragonFlyBSD Group manipulation class. It inherits all behaviors from FreeBsdGroup class. t DragonFly(RPRQRRRS(((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR^Jst DarwinGroupcB`sAeZdZdZdZd„Zd„Zdd„Zd„Z RS(sô This is a Mac macOS Darwin Group manipulation class. This overrides the following methods from the generic class:- - group_del() - group_add() - group_mod() group manipulation are done using dseditgroup(1). tDarwincK`sí|jjdtƒg}|ddg7}|jdk rS|dt|jƒg7}nbd|krµ|dtkrµ|jƒ}|tk rµt|ƒ|_|dt|jƒg7}qµn|d|jg7}|j |ƒ\}}}|||fS(Nt dseditgroups-otcreates-iRs-L( RR R!RR/R1tget_lowest_available_system_gidRCRR(RRRRtrctoutterr((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR3ds  cC`s`|jjdtƒg}|ddg7}|d|jg7}|j|ƒ\}}}|||fS(NRbs-otdeletes-L(RR R!RR(RRReRfRg((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR#rs cC`s½|jƒ}|jdk r¹t|jƒ|dkr¹|jjdtƒg}|ddg7}|dk r|dt|ƒg7}n|d|jg7}|j |ƒ\}}}|||fSdS( NiRbs-otedits-is-LR6(NR6R6( R7RR/R8RR R!R1RR(RRR;RReRfRg((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR<ys (  c C`sÿyæ|jjdtƒg}|ddddg7}|j|ƒ\}}}|jƒ}d}xc|D][}|jdƒ}t|ƒdkrbt|d ƒ} | |kr½| d kr½| }q½qbqbW|dksÙ|d krÝtS|dSWnt k rútSXdS( Ntdscls/Local/Defaults-lists/GroupstPrimaryGroupIDit iiÿÿÿÿiôió( RR R!Rt splitlinestsplitR9R8RCt Exception( RRReRfRgtlinesthighestR7tpartsR((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyRd…s"    N( RPRQRRRSR/RTR3R#R<Rd(((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR`Us    t OpenBsdGroupcB`s;eZdZdZdZdZd„Zd„Zd„Z RS(s´ This is a OpenBSD Group manipulation class. This overrides the following methods from the generic class:- - group_del() - group_add() - group_mod() tOpenBSDs /etc/groupcC`s+|jjdtƒ|jg}|j|ƒS(NR(RR R!RR(RR((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR#¨scK`sƒ|jjdtƒg}|jdk rf|jdƒ|jt|jƒƒ|jrf|jdƒqfn|j|jƒ|j |ƒS(NR.s-gs-o( RR R!RR/R0R1RRR(RRR((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR3¬s  cK`sÎ|jjdtƒg}|jƒ}|jdk r‹t|jƒ|dkr‹|jdƒ|jt|jƒƒ|j r‹|jdƒq‹nt |ƒdkr¡dS|jj r±d S|j|j ƒ|j |ƒS( NR5is-gs-oiR6i(NR6R6(iR6R6(RR R!R7RR/R8R0R1RR9R:RR(RRRR;((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR<¶s (   N( RPRQRRRSR/RTRBR#R3R<(((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyRsšs  t NetBsdGroupcB`s;eZdZdZdZdZd„Zd„Zd„Z RS(s³ This is a NetBSD Group manipulation class. This overrides the following methods from the generic class:- - group_del() - group_add() - group_mod() tNetBSDs /etc/groupcC`s+|jjdtƒ|jg}|j|ƒS(NR(RR R!RR(RR((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR#ÖscK`sƒ|jjdtƒg}|jdk rf|jdƒ|jt|jƒƒ|jrf|jdƒqfn|j|jƒ|j |ƒS(NR.s-gs-o( RR R!RR/R0R1RRR(RRR((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR3Ús  cK`sÎ|jjdtƒg}|jƒ}|jdk r‹t|jƒ|dkr‹|jdƒ|jt|jƒƒ|j r‹|jdƒq‹nt |ƒdkr¡dS|jj r±d S|j|j ƒ|j |ƒS( NR5is-gs-oiR6i(NR6R6(iR6R6(RR R!R7RR/R8R0R1RR9R:RR(RRRR;((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR<äs (   N( RPRQRRRSR/RTRBR#R3R<(((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyRuÈs  t BusyBoxGroupcB`s)eZdZd„Zd„Zd„ZRS(s BusyBox group manipulation class for systems that have addgroup and delgroup. It overrides the following methods: - group_add() - group_del() - group_mod() cK`s||jjdtƒg}|jdk rF|jdt|jƒgƒn|jr_|jdƒn|j|j ƒ|j |ƒS(Ntaddgroups-gs-S( RR R!RR/textendR1RR0RR(RRR((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR3s cC`s+|jjdtƒ|jg}|j|ƒS(Ntdelgroup(RR R!RR(RR((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR# sc K`s|jƒ}|jdk r |j|dkr tddƒ}|jƒ}WdQXt|jƒ}d||df}d||jf}d|j|krÀ|jjddj d|jƒƒn|jj rÐd S|j ||ƒ}tdd ƒ}|j |ƒWdQXd SdS(Nis /etc/groupR=s%s:x:%d:s:%d:R$sgid '{gid}' in useRiR6twb(iR6R6(iR6R6(NR6R6( R7RR/RDtreadRRRR)R*R:treplacetwrite( RRR;RKtb_groupstb_nametb_current_group_stringtb_new_group_stringt b_new_groups((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR<s  "% (RPRQRRR3R#R<(((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyRw÷s t AlpineGroupcB`seZdZdZRS(tLinuxtAlpine(RPRQRSRT(((s@/usr/lib/python2.7/site-packages/ansible/modules/system/group.pyR„)scC`sãtdtdtdddddddgƒd tddd tƒd tdd ƒd tdddtƒdtdddtƒdtdddtƒƒdtddtd gggƒ}t|ƒ}|jd|jƒ|jrñ|jd|jƒnd}d}d}i}|j |d <|j |d<|j dkr|j ƒrS|j rZ|j dtƒn|jƒ\}}}|dkrš|jd |j d|ƒqšqSn¶|j dkrS|j ƒsþ|j rÔ|j dtƒn|jd |jd |jƒ\}}}n|jd |jƒ\}}}|dk rS|dkrS|jd |j d|ƒqSn|dkrlt|ds.   8  ‚-, E./2 C