Skip to content

Commit 36fc01d

Browse files
committed
check files before opening
1 parent 9b12b2a commit 36fc01d

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

lib/msf/core/post/unix.rb

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,17 @@ def get_users
4040
#
4141
def get_groups
4242
groups = []
43-
cmd_out = read_file("/etc/group").split("\n")
44-
cmd_out.each do |l|
45-
entry = {}
46-
user_field = l.split(":")
47-
entry[:name] = user_field[0]
48-
entry[:gid] = user_field[2]
49-
entry[:users] = user_field[3]
50-
groups << entry
43+
group = '/etc/group'
44+
if file_exist?(group)
45+
cmd_out = read_file(group).split("\n")
46+
cmd_out.each do |l|
47+
entry = {}
48+
user_field = l.split(":")
49+
entry[:name] = user_field[0]
50+
entry[:gid] = user_field[2]
51+
entry[:users] = user_field[3]
52+
groups << entry
53+
end
5154
end
5255
return groups
5356
end
@@ -59,8 +62,11 @@ def enum_user_directories
5962
user_dirs = []
6063

6164
# get all user directories from /etc/passwd
62-
read_file("/etc/passwd").each_line do |passwd_line|
63-
user_dirs << passwd_line.split(/:/)[5]
65+
passwd = '/etc/passwd'
66+
if file_exist?(passwd)
67+
read_file(passwd).each_line do |passwd_line|
68+
user_dirs << passwd_line.split(/:/)[5]
69+
end
6470
end
6571

6672
# also list other common places for home directories in the event that

0 commit comments

Comments
 (0)