Module: Unix::Group
Instance Attribute Summary
Attributes included from Beaker::CommandFactory
Instance Method Summary collapse
- #group_absent(name, &block) ⇒ Object
- #group_get(name) ⇒ Object
- #group_gid(name) ⇒ Object
- #group_list ⇒ Object
- #group_present(name, &block) ⇒ Object
Methods included from Beaker::CommandFactory
Instance Method Details
#group_absent(name, &block) ⇒ Object
38 39 40 |
# File 'lib/beaker/host/unix/group.rb', line 38 def group_absent(name, &block) execute("if getent group #{name}; then groupdel #{name}; fi", {}, &block) end |
#group_get(name) ⇒ Object
17 18 19 20 21 22 23 24 |
# File 'lib/beaker/host/unix/group.rb', line 17 def group_get(name) execute("getent group #{name}") do |result| fail_test "failed to get group #{name}" unless /^#{name}:.*:[0-9]+:/.match?(result.stdout) yield result if block_given? result end end |
#group_gid(name) ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/beaker/host/unix/group.rb', line 26 def group_gid(name) execute("getent group #{name}") do |result| # Format is: # wheel:x:10:root result.stdout.split(':')[2] end end |
#group_list ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/beaker/host/unix/group.rb', line 4 def group_list execute("getent group") do |result| groups = [] result.stdout.each_line do |line| groups << (line.match(/^([^:]+)/) or next)[1] end yield result if block_given? groups end end |
#group_present(name, &block) ⇒ Object
34 35 36 |
# File 'lib/beaker/host/unix/group.rb', line 34 def group_present(name, &block) execute("if ! getent group #{name}; then groupadd #{name}; fi", {}, &block) end |