File: GetGroupMemberSidsFromURL.java

package info (click to toggle)
jcifs 1.3.16-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 2,856 kB
  • sloc: java: 23,124; xml: 3,663; ansic: 386; sh: 170; makefile: 26
file content (34 lines) | stat: -rw-r--r-- 1,221 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import java.util.*;
import jcifs.smb.*;

public class GetGroupMemberSidsFromURL {

    public static void main( String[] argv ) throws Exception {
        if (argv.length < 1) {
            System.err.println("usage: GetGroupMemberSidsFromURL <smburl>");
            System.exit(1);
        }

        SmbFile file = new SmbFile(argv[0]);
        String server = file.getServer();
        NtlmPasswordAuthentication auth = (NtlmPasswordAuthentication)file.getPrincipal();
        ACE[] security = file.getSecurity(true);

        for (int ai = 0; ai < security.length; ai++) {
            ACE ace = security[ai];
            SID sid = ace.getSID();
            if (sid.equals(SID.EVERYONE) ||
                        sid.equals(SID.CREATOR_OWNER) ||
                        sid.equals(SID.SYSTEM))
                continue;

            System.out.println(sid.toString() + " (" + sid.toDisplayString() + ") members:");

            SID[] mems = sid.getGroupMemberSids(server, auth, SID.SID_FLAG_RESOLVE_SIDS);
            for (int mi = 0; mi < mems.length; mi++) {
                SID mem = mems[mi];
                System.out.println("  " + mem.getType() + " " + mem.toDisplayString());
            }
        }
    }
}