JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr O6uf DddlZddlmZddlmZmZmZGddeeZy)N)glob)PluginIndependentPlugin PluginOptcDeZdZdZdZdZeddedgZdZ d Z d Z y ) SshzSecure shell servicessh)servicessecuritysystemidentity userconfsTz5Changes whether module will collect user .ssh configs)defaultval_typedescc|jdddgd}|j||j||jdr|j yy)N sshd_config ssh_config)z/etc/ssh/sshd_config$z/etc/ssh/ssh_config$)z/etc/ssh/ssh_configz/etc/ssh/sshd_configz/etc/ssh/sshd_config.d/*r) add_file_tags add_copy_specincluded_configs get_optionuser_ssh_files_permissions)selfsshcfgss 8/usr/lib/python3/dist-packages/sos/report/plugins/ssh.pysetupz Ssh.setups_ %2$0   7# g& ??; '  + + - (c. |Dcgc]}t|dc}Dcgc] }|D]}| }}}|D]}|jdd}t|j|dd5}|D]v} t | jdk(s| j d r1| j j d sQ| j} |j| d | x d d d y cc}wcc}}w#1swYxYw#t$rYy wxYw)z Include subconfig files T) recursive/rzUTF-8)encodingr#include)tagsN) rsplitopen path_joinlen startswithlowerr Exception) rrcopyspecfilesfcfgfilessshcfgtagcfgfilelineconfargs rrzSsh.included_configs3s9 DK 7?DT2  H # Ell3'+$..0##*, E/6 'Etzz|,1T__S5I$::<229=&*jjlG ..wqz.DE E E E   E E   sJDC1DC69D)AC<=(C<& D1 D<D D DDctj}|D]D}|j|jd}|j |s1|j d|Fy)z Iterate over .ssh folders in user homes to see their permissions. Bad permissions can prevent SSH from allowing access to given user. z.sshzls -laZ N)pwdgetpwallr+pw_dir path_isdiradd_cmd_output)r users_datauserhome_dirs rrzSsh.user_ssh_files_permissionsKsU \\^  ;D~~dkk6:Hx(##hxj$9: ;rN) __name__ __module__ __qualname__ short_desc plugin_nameprofilesrstr option_listrrrrrrrs<'JK=H +tc4 6K .,0 ;rr)r:rsos.report.pluginsrrrrrJrrrLs$ CCG;&#G;r