jcifs.smb
public class SID extends rpc.sid_t
Consider the following output of examples/SidLookup.java:
toString: S-1-5-21-4133388617-793952518-2001621813-512 toDisplayString: WNET\Domain Admins getType: 2 getTypeText: Domain group getDomainName: WNET getAccountName: Domain Admins
Field Summary | |
---|---|
static SID | CREATOR_OWNER |
static SID | EVERYONE |
static int | SID_FLAG_RESOLVE_SIDS |
static int | SID_TYPE_ALIAS |
static int | SID_TYPE_DELETED |
static int | SID_TYPE_DOMAIN |
static int | SID_TYPE_DOM_GRP |
static int | SID_TYPE_INVALID |
static int | SID_TYPE_UNKNOWN |
static int | SID_TYPE_USER |
static int | SID_TYPE_USE_NONE |
static int | SID_TYPE_WKN_GRP |
static SID | SYSTEM |
Constructor Summary | |
---|---|
SID(byte[] src, int si) | |
SID(String textual)
Construct a SID from it's textual representation such as
S-1-5-21-1496946806-2192648263-3843101252-1029. | |
SID(SID domsid, int rid)
Construct a SID from a domain SID and an RID
(relative identifier). |
Method Summary | |
---|---|
boolean | equals(Object obj) |
String | getAccountName()
Return the sAMAccountName of this SID unless it could not
be resolved in which case the numeric RID is returned. |
String | getDomainName()
Return the domain name of this SID unless it could not be
resolved in which case the numeric representation is returned. |
SID | getDomainSid() |
SID[] | getGroupMemberSids(String authorityServerName, NtlmPasswordAuthentication auth, int flags) |
int | getRid() |
static SID | getServerSid(String server, NtlmPasswordAuthentication auth) |
int | getType()
Returns the type of this SID indicating the state or type of account.
|
String | getTypeText()
Return text represeting the SID type suitable for display to
users. |
int | hashCode() |
void | resolve(String authorityServerName, NtlmPasswordAuthentication auth)
Manually resolve this SID. |
static void | resolveSids(String authorityServerName, NtlmPasswordAuthentication auth, SID[] sids)
Resolve an array of SIDs using a cache and at most one MSRPC request.
|
String | toDisplayString()
Return a String representing this SID ideal for display to
users. |
String | toString()
Return the numeric representation of this sid such as
S-1-5-21-1496946806-2192648263-3843101252-1029. |
SID types are described in the following table.
Type Name SID_TYPE_USE_NONE 0 SID_TYPE_USER User SID_TYPE_DOM_GRP Domain group SID_TYPE_DOMAIN Domain SID_TYPE_ALIAS Local group SID_TYPE_WKN_GRP Builtin group SID_TYPE_DELETED Deleted SID_TYPE_INVALID Invalid SID_TYPE_UNKNOWN Unknown
Parameters: authorityServerName The FQDN of the server that is an authority for the SID. auth Credentials suitable for accessing the SID's information.
This method will attempt to resolve SIDs using a cache and cache the results of any SIDs that required resolving with the authority. SID cache entries are currently not expired because under normal circumstances SID information never changes.
Parameters: authorityServerName The hostname of the server that should be queried. For maximum efficiency this should be the hostname of a domain controller however a member server will work as well and a domain controller may not return names for SIDs corresponding to local accounts for which the domain controller is not an authority. auth The credentials that should be used to communicate with the named server. As usual, null indicates that default credentials should be used. sids The SIDs that should be resolved. After this function is called, the names associated with the SIDs may be queried with the toDisplayString, getDomainName, and getAccountName methods.
Specifically, if the SID has been resolved and it is not a domain SID or builtin account, the full DOMAIN\name form of the account will be returned (e.g. MYDOM\alice or MYDOM\Domain Users). If the SID has been resolved but it is is a domain SID, only the domain name will be returned (e.g. MYDOM). If the SID has been resolved but it is a builtin account, only the name component will be returned (e.g. SYSTEM). If the sid cannot be resolved the numeric representation from toString() is returned.