Skip to content

Instantly share code, notes, and snippets.

@bhouse
Created September 6, 2013 00:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bhouse/98a969a9557f04a0f943 to your computer and use it in GitHub Desktop.
Save bhouse/98a969a9557f04a0f943 to your computer and use it in GitHub Desktop.
$ irb
1.9.3p448 :001 > require 'tempfile'
=> true
1.9.3p448 :002 > require 'mixlib/shellout'
=> true
1.9.3p448 :003 > file = Tempfile.new('sudoer')
=> #<File:/var/folders/xn/3nvd2hd54vl5swb9s6_1x4fc0000gp/T/sudoer20130905-81550-11bzqso>
1.9.3p448 :004 > file.write("STRING OF INVALID SUDOERS TEXT")
=> 30
1.9.3p448 :005 > cmd = Mixlib::ShellOut.new("visudo -cf #{file.path}").run_command
=> <Mixlib::ShellOut#70211487207060: command: 'visudo -cf /var/folders/xn/3nvd2hd54vl5swb9s6_1x4fc0000gp/T/sudoer20130905-81550-11bzqso' process_status: #<Process::Status: pid 81554 exit 0> stdout: '/var/folders/xn/3nvd2hd54vl5swb9s6_1x4fc0000gp/T/sudoer20130905-81550-11bzqso: parsed OK' stderr: '' child_pid: 81554 environment: {"LC_ALL"=>"C"} timeout: 600 user: group: working_dir: >
1.9.3p448 :006 > cmd.exitstatus
=> 0
1.9.3p448 :007 > cmd.stdout
=> "/var/folders/xn/3nvd2hd54vl5swb9s6_1x4fc0000gp/T/sudoer20130905-81550-11bzqso: parsed OK\n"
1.9.3p448 :008 > cmd.stderr
=> ""
1.9.3p448 :009 > file.flush
=> #<File:/var/folders/xn/3nvd2hd54vl5swb9s6_1x4fc0000gp/T/sudoer20130905-81550-11bzqso>
1.9.3p448 :010 > cmd = Mixlib::ShellOut.new("visudo -cf #{file.path}").run_command
=> <Mixlib::ShellOut#70211478886740: command: 'visudo -cf /var/folders/xn/3nvd2hd54vl5swb9s6_1x4fc0000gp/T/sudoer20130905-81550-11bzqso' process_status: #<Process::Status: pid 81555 exit 1> stdout: 'parse error in /var/folders/xn/3nvd2hd54vl5swb9s6_1x4fc0000gp/T/sudoer20130905-81550-11bzqso near line 0' stderr: '>>> /var/folders/xn/3nvd2hd54vl5swb9s6_1x4fc0000gp/T/sudoer20130905-81550-11bzqso: syntax error near line 0 <<<' child_pid: 81555 environment: {"LC_ALL"=>"C"} timeout: 600 user: group: working_dir: >
1.9.3p448 :011 > cmd.stderr
=> ">>> /var/folders/xn/3nvd2hd54vl5swb9s6_1x4fc0000gp/T/sudoer20130905-81550-11bzqso: syntax error near line 0 <<<\n"
1.9.3p448 :012 > cmd.stdout
=> "parse error in /var/folders/xn/3nvd2hd54vl5swb9s6_1x4fc0000gp/T/sudoer20130905-81550-11bzqso near line 0\n"
1.9.3p448 :013 > cmd.exitstatus
=> 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment