Class: Chef::ReservedNames::Win32::Security::SID

Inherits:
Object
  • Object
show all
Defined in:
lib/chef/win32/security/sid.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(pointer, owner = nil) ⇒ SID

Returns a new instance of SID.


26
27
28
29
30
# File 'lib/chef/win32/security/sid.rb', line 26

def initialize(pointer, owner = nil)
  @pointer = pointer
  # Keep a reference to the actual owner of this memory so we don't get freed
  @owner = owner
end

Instance Attribute Details

#pointerObject (readonly)

Returns the value of attribute pointer


45
46
47
# File 'lib/chef/win32/security/sid.rb', line 45

def pointer
  @pointer
end

Class Method Details

.AccountOperatorsObject


162
163
164
# File 'lib/chef/win32/security/sid.rb', line 162

def self.AccountOperators
  SID.from_string_sid('S-1-5-32-548')
end

.AdministratorObject


186
187
188
# File 'lib/chef/win32/security/sid.rb', line 186

def self.Administrator
  SID.("#{::ENV['COMPUTERNAME']}\\Administrator")
end

.AdministratorsObject


177
178
179
# File 'lib/chef/win32/security/sid.rb', line 177

def self.Administrators
  SID.from_string_sid('S-1-5-32-544')
end

.AnonymousObject


120
121
122
# File 'lib/chef/win32/security/sid.rb', line 120

def self.Anonymous
  SID.from_string_sid('S-1-5-7')
end

.AuthenticatedUsersObject


132
133
134
# File 'lib/chef/win32/security/sid.rb', line 132

def self.AuthenticatedUsers
  SID.from_string_sid('S-1-5-11')
end

.BackupOperatorsObject


171
172
173
# File 'lib/chef/win32/security/sid.rb', line 171

def self.BackupOperators
  SID.from_string_sid('S-1-5-32-551')
end

.BatchObject


111
112
113
# File 'lib/chef/win32/security/sid.rb', line 111

def self.Batch
  SID.from_string_sid('S-1-5-3')
end

.BuiltinAdministratorsObject


150
151
152
# File 'lib/chef/win32/security/sid.rb', line 150

def self.BuiltinAdministrators
  SID.from_string_sid('S-1-5-32-544')
end

.BuiltinUsersObject


153
154
155
# File 'lib/chef/win32/security/sid.rb', line 153

def self.BuiltinUsers
  SID.from_string_sid('S-1-5-32-545')
end

.CreatorObject


84
85
86
# File 'lib/chef/win32/security/sid.rb', line 84

def self.Creator
  SID.from_string_sid('S-1-3')
end

.CreatorGroupObject


90
91
92
# File 'lib/chef/win32/security/sid.rb', line 90

def self.CreatorGroup
  SID.from_string_sid('S-1-3-1')
end

.CreatorGroupServerObject


96
97
98
# File 'lib/chef/win32/security/sid.rb', line 96

def self.CreatorGroupServer
  SID.from_string_sid('S-1-3-3')
end

.CreatorOwnerObject


87
88
89
# File 'lib/chef/win32/security/sid.rb', line 87

def self.CreatorOwner
  SID.from_string_sid('S-1-3-0')
end

.CreatorOwnerServerObject


93
94
95
# File 'lib/chef/win32/security/sid.rb', line 93

def self.CreatorOwnerServer
  SID.from_string_sid('S-1-3-2')
end

.current_userObject


193
194
195
# File 'lib/chef/win32/security/sid.rb', line 193

def self.current_user
  SID.("#{::ENV['USERDOMAIN']}\\#{::ENV['USERNAME']}")
end

.DialupObject


105
106
107
# File 'lib/chef/win32/security/sid.rb', line 105

def self.Dialup
  SID.from_string_sid('S-1-5-1')
end

.EnterpriseDomainControllersObject


126
127
128
# File 'lib/chef/win32/security/sid.rb', line 126

def self.EnterpriseDomainControllers
  SID.from_string_sid('S-1-5-9')
end

.EveryoneObject


78
79
80
# File 'lib/chef/win32/security/sid.rb', line 78

def self.Everyone
  SID.from_string_sid('S-1-1-0')
end

.from_account(name) ⇒ Object


32
33
34
35
# File 'lib/chef/win32/security/sid.rb', line 32

def self.(name)
  domain, sid, use = Chef::ReservedNames::Win32::Security.(name)
  sid
end

.from_string_sid(string_sid) ⇒ Object


37
38
39
# File 'lib/chef/win32/security/sid.rb', line 37

def self.from_string_sid(string_sid)
  Chef::ReservedNames::Win32::Security::convert_string_sid_to_sid(string_sid)
end

.GuestObject


189
190
191
# File 'lib/chef/win32/security/sid.rb', line 189

def self.Guest
  SID.("#{::ENV['COMPUTERNAME']}\\Guest")
end

.GuestsObject


156
157
158
# File 'lib/chef/win32/security/sid.rb', line 156

def self.Guests
  SID.from_string_sid('S-1-5-32-546')
end

.InteractiveObject


114
115
116
# File 'lib/chef/win32/security/sid.rb', line 114

def self.Interactive
  SID.from_string_sid('S-1-5-4')
end

.LocalObject


81
82
83
# File 'lib/chef/win32/security/sid.rb', line 81

def self.Local
  SID.from_string_sid('S-1-2')
end

.LocalSystemObject


141
142
143
# File 'lib/chef/win32/security/sid.rb', line 141

def self.LocalSystem
  SID.from_string_sid('S-1-5-18')
end

.NetworkObject


108
109
110
# File 'lib/chef/win32/security/sid.rb', line 108

def self.Network
  SID.from_string_sid('S-1-5-2')
end

.NobodyObject


72
73
74
# File 'lib/chef/win32/security/sid.rb', line 72

def self.Nobody
  SID.from_string_sid('S-1-0-0')
end

.NoneObject

Machine-specific, well-known SIDs TODO: don't use strings, dummy


183
184
185
# File 'lib/chef/win32/security/sid.rb', line 183

def self.None
  SID.("#{::ENV['COMPUTERNAME']}\\None")
end

.NonUniqueObject


99
100
101
# File 'lib/chef/win32/security/sid.rb', line 99

def self.NonUnique
  SID.from_string_sid('S-1-4')
end

.NtObject


102
103
104
# File 'lib/chef/win32/security/sid.rb', line 102

def self.Nt
  SID.from_string_sid('S-1-5')
end

.NtLocalObject


144
145
146
# File 'lib/chef/win32/security/sid.rb', line 144

def self.NtLocal
  SID.from_string_sid('S-1-5-19')
end

.NtNetworkObject


147
148
149
# File 'lib/chef/win32/security/sid.rb', line 147

def self.NtNetwork
  SID.from_string_sid('S-1-5-20')
end

.NullObject

Well-known SIDs


69
70
71
# File 'lib/chef/win32/security/sid.rb', line 69

def self.Null
  SID.from_string_sid('S-1-0')
end

.PowerUsersObject


159
160
161
# File 'lib/chef/win32/security/sid.rb', line 159

def self.PowerUsers
  SID.from_string_sid('S-1-5-32-547')
end

.PrincipalSelfObject


129
130
131
# File 'lib/chef/win32/security/sid.rb', line 129

def self.PrincipalSelf
  SID.from_string_sid('S-1-5-10')
end

.PrintOperatorsObject


168
169
170
# File 'lib/chef/win32/security/sid.rb', line 168

def self.PrintOperators
  SID.from_string_sid('S-1-5-32-550')
end

.ProxyObject


123
124
125
# File 'lib/chef/win32/security/sid.rb', line 123

def self.Proxy
  SID.from_string_sid('S-1-5-8')
end

.ReplicatorsObject


174
175
176
# File 'lib/chef/win32/security/sid.rb', line 174

def self.Replicators
  SID.from_string_sid('S-1-5-32-552')
end

.RestrictedCodeObject


135
136
137
# File 'lib/chef/win32/security/sid.rb', line 135

def self.RestrictedCode
  SID.from_string_sid('S-1-5-12')
end

.ServerOperatorsObject


165
166
167
# File 'lib/chef/win32/security/sid.rb', line 165

def self.ServerOperators
  SID.from_string_sid('S-1-5-32-549')
end

.ServiceObject


117
118
119
# File 'lib/chef/win32/security/sid.rb', line 117

def self.Service
  SID.from_string_sid('S-1-5-6')
end

.TerminalServerUsersObject


138
139
140
# File 'lib/chef/win32/security/sid.rb', line 138

def self.TerminalServerUsers
  SID.from_string_sid('S-1-5-13')
end

.WorldObject


75
76
77
# File 'lib/chef/win32/security/sid.rb', line 75

def self.World
  SID.from_string_sid('S-1-1')
end

Instance Method Details

#==(other) ⇒ Object


41
42
43
# File 'lib/chef/win32/security/sid.rb', line 41

def ==(other)
  other != nil && Chef::ReservedNames::Win32::Security.equal_sid(self, other)
end

#accountObject


47
48
49
# File 'lib/chef/win32/security/sid.rb', line 47

def 
  Chef::ReservedNames::Win32::Security.(self)
end

#account_nameObject


51
52
53
54
# File 'lib/chef/win32/security/sid.rb', line 51

def 
  domain, name, use = 
  (domain != nil && domain.length > 0) ? "#{domain}\\#{name}" : name
end

#sizeObject


56
57
58
# File 'lib/chef/win32/security/sid.rb', line 56

def size
  Chef::ReservedNames::Win32::Security.get_length_sid(self)
end

#to_sObject


60
61
62
# File 'lib/chef/win32/security/sid.rb', line 60

def to_s
  Chef::ReservedNames::Win32::Security.convert_sid_to_string_sid(self)
end

#valid?Boolean

Returns:

  • (Boolean)

64
65
66
# File 'lib/chef/win32/security/sid.rb', line 64

def valid?
  Chef::ReservedNames::Win32::Security.is_valid_sid(self)
end