Method: Mac::User#user_present
- Defined in:
- lib/beaker/host/mac/user.rb
#user_present(name, &block) ⇒ Object
Makes sure the user is present, creating them if necessary
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/beaker/host/mac/user.rb', line 52 def user_present(name, &block) user_exists = false execute("dscacheutil -q user -a name #{name}") do |result| user_exists = result.stdout =~ /^name: #{name}/ end return if user_exists uid = uid_next gid = gid_next create_cmd = "dscl . create /Users/#{name}" create_cmd << " && dscl . create /Users/#{name} NFSHomeDirectory /Users/#{name}" create_cmd << " && dscl . create /Users/#{name} UserShell /bin/bash" create_cmd << " && dscl . create /Users/#{name} UniqueID #{uid}" create_cmd << " && dscl . create /Users/#{name} PrimaryGroupID #{gid}" execute(create_cmd) end |