From 15a12ad0a3f4eb4f9627b827613fd77544d2ba0a Mon Sep 17 00:00:00 2001 From: Reinier Schoof Date: Tue, 29 Sep 2015 22:44:47 +0200 Subject: use different path for debug logging MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When I try to run oxidized as a different user, I get permission errors for oxidized tries to write debug logs (e.g. true-telnet) in current working directory which in my case is not writable for the non-privileged user. I think this can be improved by this change. 1) Why would you use CFG.input.debug?.to_s (which in this case will always be ‘true’) as a prefix at all 2) let’s use the crash directory for the debug output, as we know this is available and choose a more descriptive name --- lib/oxidized/input/ftp.rb | 2 +- lib/oxidized/input/ssh.rb | 2 +- lib/oxidized/input/telnet.rb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/oxidized/input/ftp.rb b/lib/oxidized/input/ftp.rb index ccbf5ef..70db60c 100644 --- a/lib/oxidized/input/ftp.rb +++ b/lib/oxidized/input/ftp.rb @@ -18,7 +18,7 @@ module Oxidized def connect node @node = node @node.model.cfg['ftp'].each { |cb| instance_exec(&cb) } - @log = File.open(CFG.input.debug?.to_s + '-ftp', 'w') if CFG.input.debug? + @log = File.open(Oxidized::Config::Crash + "-#{@node.ip}-ftp", 'w') if CFG.input.debug? @ftp = Net::FTP.new @node.ip, @node.auth[:username], @node.auth[:password] connected? end diff --git a/lib/oxidized/input/ssh.rb b/lib/oxidized/input/ssh.rb index d6b4e1f..21fb02c 100644 --- a/lib/oxidized/input/ssh.rb +++ b/lib/oxidized/input/ssh.rb @@ -20,7 +20,7 @@ module Oxidized @output = '' @node.model.cfg['ssh'].each { |cb| instance_exec(&cb) } secure = CFG.input.ssh.secure - @log = File.open(CFG.input.debug?.to_s + '-ssh', 'w') if CFG.input.debug? + @log = File.open(Oxidized::Config::Crash + "-#{@node.ip}-ssh", 'w') if CFG.input.debug? port = vars(:ssh_port) || 22 @ssh = Net::SSH.start @node.ip, @node.auth[:username], :port => port.to_i, :password => @node.auth[:password], :timeout => CFG.timeout, diff --git a/lib/oxidized/input/telnet.rb b/lib/oxidized/input/telnet.rb index cedcd88..bf0140c 100644 --- a/lib/oxidized/input/telnet.rb +++ b/lib/oxidized/input/telnet.rb @@ -16,7 +16,7 @@ module Oxidized 'Port' => port.to_i, 'Timeout' => @timeout, 'Model' => @node.model } - opt['Output_log'] = CFG.input.debug?.to_s + '-telnet' if CFG.input.debug? + opt['Output_log'] = Oxidized::Config::Crash + "-#{@node.ip}-telnet" if CFG.input.debug? @telnet = Net::Telnet.new opt if @node.auth[:username] and @node.auth[:username].length > 0 -- cgit v1.2.1