Annotation of q_a/samples/check_sd/readme.txt, revision 1.1

1.1     ! root        1: Sample: Demonstration of Code to Examine SD's (Security Descriptors)
        !             2: 
        !             3: Summary:  In the Win32 .hlp file, if you click on Search, goto
        !             4:   "Security Overview", then choose from the list of topics under
        !             5:   Security Overview the sub-topic "Allowing Access", you'll find
        !             6:   the comment
        !             7: 
        !             8:     Note:  It is fine to write code like this that builds security
        !             9:       descriptors from scratch.  It is, however, a good practice
        !            10:       for people who write code that builds or manipulates
        !            11:       security descriptors to first write code that explores the
        !            12:       default security descriptors that Windows NT places on
        !            13:       objects.  For example, if Windows NT by default includes in
        !            14:       a DACL an ACE granting the Local Logon SID certain access,
        !            15:       it's good to know that, so that a decision not to grant any
        !            16:       access to the Local Logon SID would be a conscious decision
        !            17: 
        !            18: Purpose of this sample:  The comment in the .hlp file is accurate,
        !            19:   however, for many people this task of examining the SD is easier
        !            20:   if there is sample code to start from.  So, the purpose of this
        !            21:   sample is to assist people by providing sample code people can
        !            22:   start from as they examine SD(s).  This sample as is examines
        !            23:   the SD on files, and this code can be modified to examine the SD
        !            24:   on other objects
        !            25: 
        !            26:   This sample is not a supported utility
        !            27: 
        !            28: To run:  Type Check_sd to check the SD on the \\.\A:  device
        !            29: 
        !            30:          Type Check_sd d:\a.fil to check the SD on the d:\a.fil
        !            31:            file.  In this case d: must be formatted NTFS,
        !            32:            because only NTFS files have SD(s)
        !            33: 
        !            34: Further notes:
        !            35: 
        !            36: - If you recompile with this define set like this
        !            37: 
        !            38:   #define I_DO_NOT_WANT_THIS_CODE_TO_CLUTTER_THIS_PROGRAM_S_OUTPUT (1==0)
        !            39: 
        !            40:     and re-run the program, the program will produce a lot more
        !            41:       output, including displaying all the info you can access in
        !            42:       a Win32 program from the process's Access Token, and the
        !            43:       SD's of some sample objects
        !            44: 
        !            45:   - If you logon, run with the program built to produce the extra
        !            46:     output as mentioned just above, save that output to a file,
        !            47:     then log off and re-run the program, save the output of this
        !            48:     second run to a different file, you can with WinDiff easily
        !            49:     observe how the local logon SID really does change values for
        !            50:     each logged on session
        !            51: 
        !            52: - A sample test you could run to exercise DACLs involves using the
        !            53:   \q_a\samples\sd_flppy sample in conjunction with this check_sd
        !            54:   sample
        !            55: 
        !            56:   - Log on to a machine as a local Administrator
        !            57:   - Do
        !            58:     check_sd \\.\A: >out_bef.a
        !            59:     check_sd \\.\B: >out_bef.b
        !            60:   - Logoff
        !            61:   - Log on the same machine as Guest on the local machine domain
        !            62:   - Do
        !            63:     sd_flppy
        !            64:   - Try
        !            65:     dir a:    (observe access denied)
        !            66:     dir b:    (observe access denied)
        !            67:     copy config.sys a:\   (get device not found)
        !            68:     copy config.sys b:\   (get device not found)
        !            69:   - Logoff
        !            70:   - Log on the same machine as a local Administrator
        !            71:   - Do
        !            72:     check_sd \\.\A: >out_aft.a
        !            73:     check_sd \\.\B: >out_aft.b
        !            74:   - Browse the differences between out_bef.* and out_aft.*
        !            75: 
        !            76: - The above sample test demonstrates that the ACLs that sd_flppy
        !            77:   applies survive logoffs.  To demonstrate the DACLs do not
        !            78:   survive rebooting, simply reboot, log back on as a local
        !            79:   Administrator, and
        !            80:     check_sd \\.\A: >out_rbt.a
        !            81:     check_sd \\.\B: >out_rbt.b
        !            82:   to see the DACLs are again as they were in
        !            83:                      out_bef.a
        !            84:                      out_bef.b

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.