Skip to content

Commit 6d3a345

Browse files
committed
Avoid duplicating PermitUserEnvironment
Do not add a new line if the option is already defined. This avoids adding dupulicated lines and also make sure that the existing explicit setting to disable PermitUserEnvironment is purged. Closes #1953
1 parent 9416dc0 commit 6d3a345

2 files changed

Lines changed: 2 additions & 2 deletions

File tree

lib/beaker/host/unix/exec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ def ssh_permit_user_environment
302302
case self['platform']
303303
when /amazon|debian|ubuntu|archlinux|el-|centos|fedora|redhat|oracle|scientific|opensuse|sles|solaris/
304304
directory = tmpdir
305-
exec(Beaker::Command.new("echo 'PermitUserEnvironment yes' | cat - /etc/ssh/sshd_config > #{directory}/sshd_config.permit"))
305+
exec(Beaker::Command.new("sed -e 's/^PermitUserEnvironment .*/PermitUserEnvironment yes/' -e t -e '1s/^/PermitUserEnvironment yes\\n/' /etc/ssh/sshd_config > #{directory}/sshd_config.permit"))
306306
exec(Beaker::Command.new("mv #{directory}/sshd_config.permit /etc/ssh/sshd_config"))
307307
exec(Beaker::Command.new("echo '' >/etc/environment")) if self['platform'].include?('ubuntu-')
308308
when /(free|open)bsd/

spec/beaker/host/unix/exec_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ def to_s
7979
describe '#ssh_permit_user_environment' do
8080
context 'When called without error' do
8181
let(:directory) { '/directory' }
82-
let(:ssh_command) { "echo 'PermitUserEnvironment yes' | cat - /etc/ssh/sshd_config > #{directory}/sshd_config.permit" }
82+
let(:ssh_command) { "sed -e 's/^PermitUserEnvironment .*/PermitUserEnvironment yes/' -e t -e '1s/^/PermitUserEnvironment yes\\n/' /etc/ssh/sshd_config > #{directory}/sshd_config.premit" }
8383
let(:ssh_move) { "mv #{directory}/sshd_config.permit /etc/ssh/sshd_config" }
8484

8585
platforms = PlatformHelpers::REDHATPLATFORMS + PlatformHelpers::DEBIANPLATFORMS

0 commit comments

Comments
 (0)