Skip to content

Commit

Permalink
Merge pull request #714 from lswith/patch-1
Browse files Browse the repository at this point in the history
Fix user.rb for non-unique uids
  • Loading branch information
mizzy authored Apr 9, 2020
2 parents 216c80f + 3c88d78 commit dcfc334
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions lib/specinfra/command/base/user.rb
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
class Specinfra::Command::Base::User < Specinfra::Command::Base
class << self
def check_exists(user)
"id #{escape(user)}"
"getent passwd #{escape(user)}"
end

def check_belongs_to_group(user, group)
"id #{escape(user)} | sed 's/ context=.*//g' | cut -f 4 -d '=' | grep -- #{escape(group)}"
"groups #{escape(user)} | grep -- #{escape(group)}"
end

def check_belongs_to_primary_group(user, group)
"id -gn #{escape(user)}| grep ^#{escape(group)}$"
pgid = "getent passwd #{escape(user)} | cut -f 4 -d ':'"
ggid = "getent group #{escape(group)} | cut -f 3 -d ':'"
%Q|test "#{escape(pgid)}" -eq "#{escape(ggid)}"|
end

def check_is_system_user(user)
Expand All @@ -21,8 +23,8 @@ def check_is_system_user(user)
end

def check_has_uid(user, uid)
regexp = "^uid=#{uid}("
"id #{escape(user)} | grep -- #{escape(regexp)}"
auid = "getent passwd #{escape(user)} | cut -f 3 -d ':'"
%Q| test "#{escape(uid)}" -eq "#{escape(auid)}"|
end

def check_has_home_directory(user, path_to_home)
Expand All @@ -47,11 +49,11 @@ def get_maximum_days_between_password_change(user)
end

def get_uid(user)
"id -u #{escape(user)}"
"getent passwd #{escape(user)} | cut -f 3 -d ':'"
end

def get_gid(user)
"id -g #{escape(user)}"
"getent passwd #{escape(user)} | cut -f 4 -d ':'"
end

def get_home_directory(user)
Expand Down

0 comments on commit dcfc334

Please sign in to comment.