Class | AutomateIt::AccountManager |
In: |
lib/automateit/account_manager.rb
|
Parent: | AutomateIt::Plugin::Manager |
The AccountManager provides a way of managing system accounts, such as Unix users and groups.
Add groupname if it doesn‘t exist. Options:
# File lib/automateit/account_manager.rb, line 81 def add_group(groupname, opts={}) dispatch(groupname, opts) end
Add the username if not already created.
Options:
Example:
add_user("bob", :description => "Bob Smith")
# File lib/automateit/account_manager.rb, line 42 def add_user(username, opts={}) dispatch(username, opts) end
Find a group. Method returns a query helper which takes a groupname as an index argument and returns a Struct::Group entry as described in Etc::getgrent if the group exists or a nil if not.
Example:
groups["root"] # => #<struct Struct::Group name="root"... groups["does_not_exist"] # => nil
# File lib/automateit/account_manager.rb, line 76 def groups() dispatch() end
Array of groupnames this user is a member of.
# File lib/automateit/account_manager.rb, line 99 def groups_for_user(query) dispatch(query) end
Does group exist?
# File lib/automateit/account_manager.rb, line 90 def has_group?(group) dispatch(group) end
Is user present?
# File lib/automateit/account_manager.rb, line 55 def has_user?(user) dispatch(user) end
Invalidate system cache for database. The database can be either :users or :groups. This is necessary on operating systems that lack logic to notify their caching system that an entry changed. If the OS doesn‘t need invalidation, will do nothing and return false.
This method is primarily for the sake of driver authors, recipe authors will probably never need to use this.
# File lib/automateit/account_manager.rb, line 13 def invalidate(database) dispatch_safely(database) end
Change the password for the user.
# File lib/automateit/account_manager.rb, line 64 def passwd(user, password, opts={}) dispatch(user, password, opts) end
Remove groupname if it exists.
# File lib/automateit/account_manager.rb, line 87 def remove_group(groupname, opts={}) dispatch(groupname, opts) end
Remove the username if present.
Options:
# File lib/automateit/account_manager.rb, line 52 def remove_user(username, opts={}) dispatch(username, opts) end
Find a user account. Method returns a query helper which takes a username as an index argument and returns a Struct::Passwd entry as described in Etc::getpwent if the user exists or a nil if not.
Example:
users["root"] # => #<struct Struct::Passwd name="root"... users["does_not_exist"] # => nil
# File lib/automateit/account_manager.rb, line 25 def users() dispatch() end
Array of usernames in group.
# File lib/automateit/account_manager.rb, line 102 def users_for_group(query) dispatch(query) end