Ë
    i©¹d  ã                   ó0   — d dl mZmZmZ  G d„ dee«      Zy)é    )ÚPluginÚIndependentPluginÚ	PluginOptc                   óD   — e Zd ZdZdZdZ edded¬«      gZd„ Z	d	„ Z
d
„ Zy)ÚSshzSecure shell serviceÚssh)ÚservicesÚsecurityÚsystemÚidentityÚ	userconfsTz5Changes whether module will collect user .ssh configs)ÚdefaultÚval_typeÚdescc                 ó¼   — | j                  dddœ«       ddg}| j                  |«       | j                  |«       | j                  d«      r| j	                  «        y y )NÚsshd_configÚ
ssh_config)z/etc/ssh/sshd_config$z/etc/ssh/ssh_config$z/etc/ssh/ssh_configz/etc/ssh/sshd_configr   )Úadd_file_tagsÚadd_copy_specÚincluded_configsÚ
get_optionÚuser_ssh_files_permissions)ÚselfÚsshcfgss     ú8/usr/lib/python3/dist-packages/sos/report/plugins/ssh.pyÚsetupz	Ssh.setup   sg   € à×ÑØ%2Ø$0ñ
ô 	ð "Ø"ðˆð 	×Ñ˜7Ô#à×Ñ˜gÔ&ð �?‰?˜;Ô'Ø×+Ñ+Õ-ð (ó    c                 ó²  — 	 |D ]¶  }|j                  d«      d   }t        | j                  |«      d«      5 }|D ]v  }t        |j                  «       «      dk(  s|j	                  d«      rŒ1|j                  «       j	                  d«      sŒQ|j                  «       }| j                  |d   |¬«       Œx 	 d d d «       Œ¸ y # 1 sw Y   ŒÃxY w# t        $ r Y y w xY w)	Nú/éÿÿÿÿÚrr   ú#Úincludeé   )Útags)ÚsplitÚopenÚ	path_joinÚlenÚ
startswithÚlowerr   Ú	Exception)r   r   ÚsshcfgÚtagÚcfgfileÚlineÚconfargs          r   r   zSsh.included_configs0   sÚ   € ð	Ø!ò 
E�Ø—l‘l 3Ó'¨Ñ+�Ü˜$Ÿ.™.¨Ó0°#Ó6ð E¸'Ø 'ò E˜ä˜tŸz™z›|Ó,°Ò1°T·_±_ÀSÔ5IØ$àŸ:™:›<×2Ñ2°9Õ=Ø&*§j¡j£l˜GØ ×.Ñ.¨w°q©zÀÐ.ÕDñE÷Eð Eñ
E÷Eð Eûô ò 	Ùð	ús/   ‚4C
 ¶AB>Â
(B>Â3
C
 Â>C	ÃC
 Ã
	CÃCc                 óð  — | j                  d«      }|d   r5	 t        | j                  d«      «      5 }|j                  «       }ddd«       n|d   j                  «       }D ]X  }	 | j                  |j                  d«      d   d	«      }| j                  |«      r | j                  d
j                  |«      «       ŒZ y# 1 sw Y   Œ{xY w# t        $ r | j                  d«       Y yw xY w# t        $ r Y Œ“w xY w)z 
        Iterate over .ssh folders in user homes to see their permissions.

        Bad permissions can prevent SSH from allowing access to given user.
        zgetent passwdÚstatusz/etc/passwdNzCouldn't read /etc/passwdÚoutputú:é   z.sshz
ls -laZ {})Úexec_cmdr'   r(   Ú	readlinesr,   Ú
_log_errorÚ
splitlinesr&   Ú
path_isdirÚadd_cmd_outputÚformatÚ
IndexError)r   Ú
users_dataÚpasswd_fileÚusers_data_linesÚusr_lineÚhome_dirs         r   r   zSsh.user_ssh_files_permissionsA   sø   € ð —]‘] ?Ó3ˆ
à�hÒðÜ˜$Ÿ.™.¨Ó7Ó8ð ?¸KØ'2×'<Ñ'<Ó'>Ð$÷?øð  *¨(Ñ3×>Ñ>Ó@Ðð )ò 	ˆHðØŸ>™>¨(¯.©.¸Ó*=¸aÑ*@À&ÓI�Ø—?‘? 8Ô,Ø×'Ñ'¨×(;Ñ(;¸HÓ(EÔFøñ		÷?ð ?ûäò à—‘Ð ;Ô<Ùðûô ò Ùðús;   ˜C	 ²B=ÁC	 Á%AC)Â=CÃC	 Ã	C&Ã%C&Ã)	C5Ã4C5N)Ú__name__Ú
__module__Ú__qualname__Ú
short_descÚplugin_nameÚprofilesr   ÚstrÚoption_listr   r   r   © r   r   r   r      s<   „ à'€Jà€KØ=€Hñ 	�+ t°cð4ô	6ð€Kò.ò*ó"r   r   N)Úsos.report.pluginsr   r   r   r   rL   r   r   ú<module>rN      s   ð÷ DÑ CôNˆ&Ð#õ Nr   