Module: VCAP::UserOps

Defined in:
lib/vcap/user_pools/user_ops.rb

Class Method Summary collapse

Class Method Details

.group_exists?(name) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
17
18
19
# File 'lib/vcap/user_pools/user_ops.rb', line 14

def group_exists?(name)
  found = false
  Etc.group { |g| found = true if g.name == name}
  Etc.endgrent
  found
end

.install_group(group_name) ⇒ Object



21
22
23
# File 'lib/vcap/user_pools/user_ops.rb', line 21

def install_group(group_name)
  run("addgroup --system #{group_name}")
end

.install_user(user_name, group_name) ⇒ Object



36
37
38
39
# File 'lib/vcap/user_pools/user_ops.rb', line 36

def install_user(user_name, group_name)
  run("adduser --system --quiet --no-create-home --home '/nonexistent' #{user_name}")
  run("usermod -g #{group_name} #{user_name}")
end

.remove_group(group_name) ⇒ Object



25
26
27
# File 'lib/vcap/user_pools/user_ops.rb', line 25

def remove_group(group_name)
  run("delgroup --system #{group_name}")
end

.remove_user(user_name) ⇒ Object



41
42
43
# File 'lib/vcap/user_pools/user_ops.rb', line 41

def remove_user(user_name)
  run("deluser #{user_name}")
end

.run(cmd, expected_exit_status = 0) ⇒ Object



10
11
12
# File 'lib/vcap/user_pools/user_ops.rb', line 10

def run(cmd, expected_exit_status = 0)
  result = VCAP::Subprocess.run(cmd, expected_exit_status)
end

.user_exists?(name) ⇒ Boolean

Returns:

  • (Boolean)


29
30
31
32
33
34
# File 'lib/vcap/user_pools/user_ops.rb', line 29

def user_exists?(name)
  found = false
  Etc.passwd { |u| found = true if u.name == name}
  Etc.endpwent
  found
end