??????????????
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 „Zdefd„ƒYZdefd„ƒYZdefd„ƒYZedkrëeƒnd S(i(tabsolute_importtdivisiontprint_functions1.1tmetadata_versiontpreviewtstatust communityt supported_bysn --- module: crypttab short_description: Encrypted Linux block devices description: - Control Linux encrypted block devices that are set up during system boot in C(/etc/crypttab). version_added: "1.9" options: name: description: - Name of the encrypted block device as it appears in the C(/etc/crypttab) file, or optionally prefixed with C(/dev/mapper/), as it appears in the filesystem. I(/dev/mapper/) will be stripped from I(name). type: str required: yes state: description: - Use I(present) to add a line to C(/etc/crypttab) or update its definition if already present. - Use I(absent) to remove a line with matching I(name). - Use I(opts_present) to add options to those already present; options with different values will be updated. - Use I(opts_absent) to remove options from the existing set. type: str required: yes choices: [ absent, opts_absent, opts_present, present ] backing_device: description: - Path to the underlying block device or file, or the UUID of a block-device prefixed with I(UUID=). type: str password: description: - Encryption password, the path to a file containing the password, or C(-) or unset if the password should be entered at boot. type: path opts: description: - A comma-delimited list of options. See C(crypttab(5) ) for details. type: str path: description: - Path to file to use instead of C(/etc/crypttab). - This might be useful in a chroot environment. type: path default: /etc/crypttab author: - Steve (@groks) s— - name: Set the options explicitly a device which must already exist crypttab: name: luks-home state: present opts: discard,cipher=aes-cbc-essiv:sha256 - name: Add the 'discard' option to any existing options for all devices crypttab: name: '{{ item.device }}' state: opts_present opts: discard loop: '{{ ansible_mounts }}' when: "'/dev/mapper/luks-' in {{ item.device }}" N(t AnsibleModule(tto_bytest to_nativecC`sStdtdtdddtƒdtdddtddd d d gƒd tddƒd tddƒdtddƒdtddddƒƒdtƒ}|jd }|jd }|jd}|jd}|jd}|jd}|jdƒr|tdƒ}n|dkrO|dkrO|dkrO|dkrO|jdd|jnd|kr|dk ss|dk r|jdd||jnx…d|fd |fd |fd|ffD]Y\}}|dk r»d|ks÷d|ks÷|dkr»|jdd||jq»q»Wyt|ƒ} | j |ƒ} Wn?t k rx} |jddt | ƒdt j ƒ|jnXd |kr¶| dkr¶|dkr¶|jdd|jntd} } |dkró| dk ræ| jƒ\} } qænó|d krS| dk r)| j|||ƒ\} } qæ| jtd||||ƒƒ\} } n“|d kr°| dk r†| jj|ƒ\} } qæ| jtd||||ƒƒ\} } n6|d kræ| dk ræ| jj|ƒ\} } qæn| r3|j r3z,t|dƒ}|jt| d d!ƒƒWd|jƒXn|jd"| d| |jdS(#Nt argument_spectnamettypetstrtrequiredtstatetchoicestabsentt opts_absentt opts_presenttpresenttbacking_devicetpasswordtpathtoptstdefaults /etc/crypttabtsupports_check_modes /dev/mapper/tmsgs>expected one or more of 'backing_device', 'password' or 'opts's:cannot update 'backing_device' or 'password' when state=%st s ts.invalid '%s': contains white space or is emptys*failed to open and parse crypttab file: %st exceptions,'backing_device' required to add a new entryt?twbterrorstsurrogate_or_stricttchanged(RtdicttTruetparamst startswithtlentNonet fail_jsontCrypttabtmatcht ExceptionR t tracebackt format_exctFalsetremovetsettaddtLineRt check_modetopentwriteR tcloset exit_json(tmoduleRRRRRR targ_nametargtcrypttabt existing_lineteR$treasontf((sC/usr/lib/python2.7/site-packages/ansible/modules/system/crypttab.pytmainWsx'       0  $    0 $       *  *  R,cB`s;eZgZd„Zd„Zd„Zd„Zd„ZRS(cC`s½||_tjj|ƒsktjjtjj|ƒƒsUtjtjj|ƒƒnt|dƒjƒnz@t|dƒ}x*|jƒD]}|jj t |ƒƒqŠWWd|jƒXdS(Ntatr( RtostexiststdirnametmakedirsR7R9t readlinest_linestappendR5(tselfRRBtline((sC/usr/lib/python2.7/site-packages/ansible/modules/system/crypttab.pyt__init__«s cC`s|jj|ƒtdfS(Ns added line(RKRLR&(RMRN((sC/usr/lib/python2.7/site-packages/ansible/modules/system/crypttab.pyR4¹scc`s,x%|jD]}|jƒr |Vq q WdS(N(RKtvalid(RMRN((sC/usr/lib/python2.7/site-packages/ansible/modules/system/crypttab.pytlines½s cC`s.x'|jƒD]}|j|kr |Sq WdS(N(RQR R*(RMR RN((sC/usr/lib/python2.7/site-packages/ansible/modules/system/crypttab.pyR-ÂscC`s|g}x$|jD]}|jt|ƒƒqWdj|ƒ}t|ƒdkr[|d7}n|ddkrx|d7}n|S(Ns iiÿÿÿÿ(RKRLRtjoinR)(RMRQRNR>((sC/usr/lib/python2.7/site-packages/ansible/modules/system/crypttab.pyt__str__Ès  (t__name__t __module__RKROR4RQR-RS(((sC/usr/lib/python2.7/site-packages/ansible/modules/system/crypttab.pyR,¨s     R5cB`sVeZdddddd„Zd„Zd„Zd„Zd„Zd„Zd„Z RS(cC`sž||_||_||_||_t|ƒ|_|dk r‡|jjdƒ|_|j|ƒr‡|j |ƒ\|_}}}q‡n|j |||ƒdS(Ns ( RNR RRtOptionsRR*trstript _line_validt _split_lineR3(RMRNR RRR((sC/usr/lib/python2.7/site-packages/ansible/modules/system/crypttab.pyROÕs     $cC`s¦t}|dk r3|j|kr3||_t}n|dk r`|j|kr`||_t}n|dk rœt|ƒ}||jkrœ||_t}qœn|dfS(Ns updated line(R1R*RR&RRVR(RMRRRR$((sC/usr/lib/python2.7/site-packages/ansible/modules/system/crypttab.pyR3ãs        cC`s<|jƒ s4|jdƒs4t|jƒƒdkr8tStS(Nt#iii(iii(tstripR(R)tsplitR1R&(RMRN((sC/usr/lib/python2.7/site-packages/ansible/modules/system/crypttab.pyRXös4cC`st|jƒ}y|d}Wntk r3d}nXy|d}Wntk r[d}nX|d|d||fS(Niiii(R\t IndexErrorR*(RMRNtfieldstfield2tfield3((sC/usr/lib/python2.7/site-packages/ansible/modules/system/crypttab.pyRYûs     cC`s"d\|_|_|_tdfS(NRs removed line(RNN(R*RNR RR&(RM((sC/usr/lib/python2.7/site-packages/ansible/modules/system/crypttab.pyR2 scC`s&|jdk r"|jdk r"tStS(N(R R*RR&R1(RM((sC/usr/lib/python2.7/site-packages/ansible/modules/system/crypttab.pyRPscC`sž|jƒr—|j|jg}|jdk s6|jrh|jdk rX|j|jƒqh|jdƒn|jrŠ|jt|jƒƒndj|ƒS|j S(NtnoneR( RPR RRR*RRLRRRRN(RMR^((sC/usr/lib/python2.7/site-packages/ansible/modules/system/crypttab.pyRSs   N( RTRUR*ROR3RXRYR2RPRS(((sC/usr/lib/python2.7/site-packages/ansible/modules/system/crypttab.pyR5Ôs     RVcB`sqeZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z RS( s6opts_string looks like: 'discard,foo=bar,baz=greeble' cC`stt|ƒjƒg|_|dk r™xn|jdƒD]Z}|jdƒ}t|ƒdkrw|d|d}}n|dd}}|||s    2   Q,ND