
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
[Ø*e¬6  ã               @   s6   d dl Z d dlZejZG dd„ dƒZG dd„ dƒZdS )é    Nc               @   st   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zed	d
„ ƒZedd„ ƒZ	edd„ ƒZ
edd„ ƒZedd„ ƒZedd„ ƒZdS )ÚOptionc             C   s.   || _ || _|| _|| _|| _d | _d| _d S )NF)ÚnameÚmetavarÚhelpÚfeatureÚ	supportedÚvalueÚfrom_sysconfig)Úselfr   r   r   r   r   © r   ú(/usr/lib/python3.6/authcompat_Options.pyÚ__init__   s    zOption.__init__c             C   s
   || _ d S )N)r   )r
   Ú	new_valuer   r   r   Úset&   s    z
Option.setc             C   s   | j |ƒ d| _d S )NT)r   r	   )r
   r   r   r   r   Úset_from_sysconfig)   s    
zOption.set_from_sysconfigc             C   s
   | j d k	S )N)r   )r
   r   r   r   Úisset-   s    zOption.issetc             C   s   t | ||ddd�S )NFT)r   r   )r   )r   r   r   r   r   r   ÚValued0   s    zOption.Valuedc             C   s   t | d |ddd�S )NFT)r   r   )r   )r   r   r   r   r   ÚSwitch4   s    zOption.Switchc             C   s   t | d |ddd�S )NT)r   r   )r   )r   r   r   r   r   ÚFeature8   s    zOption.Featurec             C   s   t | |d ddd�S )NF)r   r   )r   )r   r   r   r   r   ÚUnsupportedValued<   s    zOption.UnsupportedValuedc             C   s   t | d d ddd�S )NTF)r   r   )r   )r   r   r   r   ÚUnsupportedFeature@   s    zOption.UnsupportedFeaturec             C   s   t | d d ddd�S )NF)r   r   )r   )r   r   r   r   ÚUnsupportedSwitchD   s    zOption.UnsupportedSwitchN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   Ústaticmethodr   r   r   r   r   r   r   r   r   r   r      s   	r   c            M   @   sº  e Zd Zejdedƒƒejdedƒedƒƒejdedƒedƒƒejd	ed
ƒƒejdedƒƒejdedƒedƒƒejdedƒedƒƒejdedƒƒejdedƒƒejdedƒƒejdedƒƒejdedƒedƒƒejdedƒƒejded ƒƒejd!ed"ƒƒejd#edƒed$ƒƒejd%edƒed&ƒƒejd'ed(ƒed)ƒƒejd*ed+ƒƒejd,ed-ƒƒejd.ed/ƒƒejd0ed1ƒƒejd2ed3ƒed4ƒƒejd5ed6ƒƒejd7ed8ƒed9ƒƒejd:ed;ƒƒejd<ed=ƒƒejd>ed?ƒƒejd@edAƒƒejdBedCƒƒejdDedEƒƒejdFedGƒedHƒƒejdIedGƒedJƒƒejdKedGƒedLƒƒejdMedGƒedNƒƒejdOedPƒƒejdQedRƒƒejdSedTƒƒejdUedVƒƒejdWedXƒƒejdYedZƒƒejd[ed\ƒƒejd]ed\ƒƒejd^ej	ƒej
d_ƒej
d`ƒejdaedbƒƒejdcedbƒƒej
ddƒejdeƒejdfƒejdgƒej
dhƒejdiƒej
djƒejdkedlƒƒejdmednƒƒejdoedpƒƒejdqedrƒƒejdsed(ƒƒejdteduƒƒejdvedwƒƒejdxedwƒƒejdyedwƒƒejdzed{ƒƒejd|ed}ƒƒejd~edƒƒejd€ƒejd�ƒejd‚ƒejdƒƒejd„ƒejd…ƒejd†ed‡ƒƒgJZdDd†d	ddfd.d5d:d!dddddkdidgd0d<d„d@dBd…dƒd>dˆœZd‰dŠ„ Zd‹dŒ„ Zd�dŽ„ Zd�d�„ Zd‘d’„ Zd“d”„ Zd•d–„ Zd—d˜„ Zd™dš„ Zd›dœ„ Zd�dž„ ZdŸd „ Zd¡d¢„ Zd£d¤„ Zd¥S )¦ÚOptionsZnisz#NIS for user information by defaultZ	nisdomainz<domain>zdefault NIS domainZ	nisserverz<server>zdefault NIS serverZldapz$LDAP for user information by defaultZldapauthz"LDAP for authentication by defaultZ
ldapserverz#default LDAP server hostname or URIZ
ldapbasednz<dn>zdefault LDAP base DNÚldaptlszuse of TLS with LDAP (RFC-2830)Úldapstarttlsz4use of TLS for identity lookups with LDAP (RFC-2830)Z
rfc2307bisz;use of RFC-2307bis schema for LDAP user information lookupsZ	smartcardz)authentication with smart card by defaultZsmartcardactionz<0=Lock|1=Ignore>z(action to be taken on smart card removalZrequiresmartcardz0require smart card for authentication by defaultZfingerprintz2authentication with fingerprint readers by defaultZkrb5z"Kerberos authentication by defaultZkrb5kdczdefault Kerberos KDCZkrb5adminserverzdefault Kerberos admin serverZ	krb5realmz<realm>zdefault Kerberos realmZ
krb5kdcdnsz use of DNS to find Kerberos KDCsZkrb5realmdnsz"use of DNS to find Kerberos realmsZwinbindz'winbind for user information by defaultZwinbindauthz%winbind for authentication by defaultZwinbindjoinz<Administrator>z>join the winbind domain or ads realm now as this administratorZwinbindkrb5z(Kerberos 5 for authenticate with winbindZsmbworkgroupz<workgroup>z'workgroup authentication servers are inZsssdzHSSSD for user information by default with manually managed configurationZsssdauthzFSSSD for authentication by default with manually managed configurationZ
cachecredsz.caching of user credentials in SSSD by defaultZ	pamaccessz1check of access.conf during account authorizationZ	mkhomedirz;creation of home directories for users on their first loginZfaillockzGaccount locking in case of too many consecutive authentication failuresZ
passminlenz<number>zminimum length of a passwordZpassminclassz1minimum number of character classes in a passwordZpassmaxrepeatz;maximum number of same consecutive characters in a passwordZpassmaxclassrepeatzDmaximum number of consecutive characters of same class in a passwordZreqlowerz6require at least one lowercase character in a passwordZrequpperz6require at least one uppercase character in a passwordZreqdigitz(require at least one digit in a passwordZreqotherz2require at least one other character in a passwordZnostartzdo not start/stop servicesZ	updateallzupdate all configuration filesÚupdatezthe same as --updateallZ	kickstartz	test-callZtestZprobeZ
savebackupz<name>ZrestorebackupZrestorelastbackupÚcacheZecryptfsÚshadowÚ	useshadowÚmd5Úusemd5Zpassalgoz%<descrypt|bigcrypt|md5|sha256|sha512>Zldaploadcacertz<URL>Zsmartcardmodulez<module>Zsmbsecurityz<user|server|domain|ads>ZsmbrealmZ
smbserversz	<servers>Zsmbidmaprangez<lowest-highest>ZsmbidmapuidZsmbidmapgidZwinbindseparatorz<\>Zwinbindtemplatehomedirz</home/%D/%U>Zwinbindtemplateshellz</bin/false>ZwinbindusedefaultdomainZwinbindofflineZ	preferdnsZforcelegacyZlocauthorizeZ
sysnetauthZfaillockargsz	<options>)ZUSEFAILLOCKZFAILLOCKARGSZUSELDAPZUSENISZUSEECRYPTFSZ
USEWINBINDZWINBINDKRB5ZUSESSSDZUSEKERBEROSZUSELDAPAUTHZUSESMARTCARDZFORCESMARTCARDZ
USEFPRINTDZPASSWDALGORITHMZUSEMD5Z	USESHADOWZUSEWINBINDAUTHZUSESSSDAUTHZUSELOCAUTHORIZEZUSEPAMACCESSZUSEMKHOMEDIRZUSESYSNETAUTHZFORCELEGACYZCACHECREDENTIALSc             C   s&   i | _ x| jD ]}|| j |j< qW d S )N)ÚoptionsÚListr   )r
   Úoptionr   r   r   r   È   s    zOptions.__init__c             C   s
  t jdd�}|jtdƒƒ|jtdƒƒdœ}x,| jD ]"}|jr@dnd}| j|| |ƒ q2W |jƒ }x*| jj	ƒ D ]\}}t
||ƒ}|j|ƒ qlW | jdƒ r´| jd	ƒr´| jd| jd	ƒƒ | jd
ƒ rÜ| jdƒrÜ| jd
| jdƒƒ | jdƒoð| jdƒ �r| jd| jdƒƒ d S )NzAuthconfig Compatibility Tool.)Údescriptionz(These options have a compatibility layerz8These options are no longer supported and have no effect)r   Úunsupportedr   r)   r#   r$   r!   r"   r   r   )ÚargparseÚArgumentParserZadd_argument_groupÚ_r&   r   Ú
add_optionÚ
parse_argsr%   ÚitemsÚgetattrr   r   Úget)r
   ÚparserZparsersr'   ÚgroupZcmdliner   r   r   r   r   ÚparseÎ   s     
zOptions.parsec             C   s<   x6| j jƒ D ](\}}| j|ƒs| j| j|j|ƒƒ qW d S )N)ÚMapr/   r   r%   r   r1   )r
   Ú	sysconfigr   r'   r   r   r   Úapplysysconfigë   s    
zOptions.applysysconfigc             C   s8   x2| j jƒ D ]$\}}| j|ƒr|j|| j|ƒƒ qW d S )N)r5   r/   r   r   r1   )r
   r6   r   r'   r   r   r   Úupdatesysconfigð   s    
zOptions.updatesysconfigc             C   s   | j | jS )N)r%   r   )r
   r   r   r   r   r1   õ   s    zOptions.getc             C   s   | j | j|ƒ d S )N)r%   r   )r
   r   r   r   r   r   r   ø   s    zOptions.setc             C   s   | j | jƒ S )N)r%   r   )r
   r   r   r   r   r   û   s    zOptions.issetc             C   s    | j |ƒ}|d ks| rdS dS )NFT)r1   )r
   r   r   r   r   r   ÚgetBoolþ   s    
zOptions.getBoolc             C   s    | j |ƒ}|d ks| rd S dS )NT)r1   )r
   r   r   r   r   r   ÚgetTrueOrNone  s    
zOptions.getTrueOrNonec             C   s^   g }xTt jD ]J}|jrq|jƒ s"q|jr*q|j}|jrL|jrDd| nd| }|j|ƒ qW |S )NÚenableÚdisable)	r   r&   r   r   r	   r   r   r   Úappend)r
   r%   r'   r   r   r   r   ÚgetSetButUnsupported
  s    zOptions.getSetButUnsupportedc             C   s<   |j d k	r| j||ƒ n |jr,| j||ƒ n| j||ƒ d S )N)r   Ú
add_valuedr   Úadd_featureÚ
add_switch)r
   r2   r'   r   r   r   r-     s
    
zOptions.add_optionc             C   s$   |j d|j d|j|j|jd� d S )Nz--Zstore)Úactionr   Údestr   )Úadd_argumentr   r   r   )r
   r2   r'   r   r   r   r?   &  s
    zOptions.add_valuedc             C   s"   |j d|j dd|j|jd� d S )Nz--Ústore_constT)rB   Úconstr   rC   )rD   r   r   )r
   r2   r'   r   r   r   rA   -  s
    zOptions.add_switchc             C   sr   d }d }|j d k	r6tdƒd |j  }tdƒd |j  }|jd|j dd||jd� |jd|j dd	||jd� d S )
Nr;   ú r<   z--enablerE   T)rB   rF   r   rC   z	--disableF)r   r,   rD   r   )r
   r2   r'   Zhelp_enableZhelp_disabler   r   r   r@   4  s    

zOptions.add_featureN)r   r   r   r   r   r,   r   r   r*   ZSUPPRESSr   r   r   r&   r5   r   r4   r7   r8   r1   r   r   r9   r:   r>   r-   r?   rA   r@   r   r   r   r   r   I   sà   	r   )r*   Úgettextr,   r   r   r   r   r   r   Ú<module>   s   -