|
155 | 155 | sensitive true
|
156 | 156 | end
|
157 | 157 |
|
158 |
| - pam_services = %w(sudo su sshd) |
159 |
| - pam_config_dir = "/etc/pam.d" |
160 | 158 | generate_ssh_key_path = "#{node['cluster']['scripts_dir']}/generate_ssh_key.sh"
|
161 |
| - ssh_key_generator_pam_config_line = "session optional pam_exec.so log=/var/log/parallelcluster/pam_ssh_key_generator.log #{generate_ssh_key_path}" |
162 |
| - if node['cluster']["directory_service"]["generate_ssh_keys_for_users"] == 'true' |
| 159 | + ssh_key_generator_profile_config_line = "bash #{generate_ssh_key_path} >> /var/log/parallelcluster/pam_ssh_key_generator.log 2>&1" |
| 160 | + if node['cluster']["directory_service"]["generate_ssh_keys_for_users"] == 'true' |
163 | 161 | template generate_ssh_key_path do
|
164 | 162 | source 'directory_service/generate_ssh_key.sh.erb'
|
165 | 163 | owner 'root'
|
166 | 164 | group 'root'
|
167 | 165 | mode '0755'
|
168 | 166 | end
|
169 |
| - pam_services.each do |pam_service| |
170 |
| - pam_config_file = "#{pam_config_dir}/#{pam_service}" |
171 |
| - append_if_no_line "Ensure PAM service #{pam_service} is configured to call SSH key generation script" do |
172 |
| - path pam_config_file |
173 |
| - line ssh_key_generator_pam_config_line |
174 |
| - end |
| 167 | + file "/var/log/parallelcluster/pam_ssh_key_generator.log" do |
| 168 | + action :touch |
| 169 | + mode '0777' |
| 170 | + end |
| 171 | + append_if_no_line "Ensure /etc/profile is configured to call SSH key generation script" do |
| 172 | + path "/etc/profile" |
| 173 | + line ssh_key_generator_profile_config_line |
175 | 174 | end
|
176 | 175 | else
|
177 |
| - # Remove script used to generate key if it exists and ensure PAM is not configured to try to call it |
| 176 | + # Remove script used to generate key if it exists and ensure /etc/profile is not configured to try to call it |
178 | 177 | file generate_ssh_key_path do
|
179 | 178 | action :delete
|
180 | 179 | only_if { ::File.exist? generate_ssh_key_path }
|
181 | 180 | end
|
182 |
| - |
183 |
| - pam_services.each do |pam_service| |
184 |
| - pam_config_file = "#{pam_config_dir}/#{pam_service}" |
185 |
| - delete_lines "Ensure PAM service #{pam_service} is not configured to call SSH key generation script" do |
186 |
| - path pam_config_file |
187 |
| - pattern %r{session\s+optional\s+pam_exec\.so\s+log=/var/log/parallelcluster/pam_ssh_key_generator\.log} |
188 |
| - ignore_missing true |
189 |
| - end |
| 181 | + delete_lines "Ensure /etc/profile is not configured to call SSH key generation script" do |
| 182 | + path "/etc/profile" |
| 183 | + line ssh_key_generator_profile_config_line |
| 184 | + end |
| 185 | + end |
| 186 | + |
| 187 | + # Ensure pam.d based SSH generation is removed |
| 188 | + ssh_key_generator_pam_config_line = "session optional pam_exec.so log=/var/log/parallelcluster/pam_ssh_key_generator.log #{generate_ssh_key_path}" |
| 189 | + pam_services = %w(sudo su sshd) |
| 190 | + pam_config_dir = "/etc/pam.d" |
| 191 | + pam_services.each do |pam_service| |
| 192 | + pam_config_file = "#{pam_config_dir}/#{pam_service}" |
| 193 | + delete_lines "Ensure PAM service #{pam_service} is not configured to call SSH key generation script" do |
| 194 | + path pam_config_file |
| 195 | + pattern %r{session\s+optional\s+pam_exec\.so\s+log=/var/log/parallelcluster/pam_ssh_key_generator\.log} |
| 196 | + ignore_missing true |
190 | 197 | end
|
191 | 198 | end
|
192 | 199 | else
|
|
0 commit comments