Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

118 lines
3.1 KiB

  1. Trust Test Plan
  2. ---------------
  3. 1. Preparation
  4. Configurations needed:
  5. - two or more DCs
  6. - on each DC, make Administrator the current account and be sure to have TcbPrivilege
  7. - on each DC, create a test user account
  8. To automate these steps, use \\scratch\scratch\cristiai\trust\luok.cmd
  9. (luok.cmd requires buildnum.exe, arights.exe and logontst.exe in path)
  10. Depending on the relationships desired between these DCs (parent child,
  11. same enterprise) one or more demote/promote operations (using dcpromo or
  12. an equivalent command line tool) might be needed between test cases.
  13. 1.1 Required executables:
  14. trustdom.exe
  15. arights.exe
  16. logontst.exe
  17. From idw:
  18. buildnum.exe (only for luok.cmd)
  19. 2. Basic Test Case Scenario
  20. Basically, for each domain and different modes of trust links, the test
  21. users from the other machines will be logged on the current domain.
  22. The steps are:
  23. - set trust links, if necessary (because sometimes trusts are implicitly
  24. defined, by example if there is a parent-child relationship between
  25. those domains)
  26. - for a given domain:
  27. - preparing to logon a user from another domain, grant that user
  28. the InteractiveLogonRight (using arights.exe)
  29. - test logon for that user
  30. - at the end, you can reset the trust links to the status prior to the
  31. test; take care not to delete trusts not set up by the test, like
  32. child-parent trusts
  33. 3. Notation
  34. Domain names in uppercase only.
  35. X ----> Y
  36. - one way trust from X to Y, i.e. users from Y can log to X but not the
  37. other way; such a trust link is outbound on X and inbound on Y; it is
  38. listed by a 'trustdom X -list' command as "Y ,O,T_uplevel,_,_,_"
  39. (or T_downlevel, depending if the machines involved are NT5s or NT4s)
  40. X <---> Y
  41. - two way trust; it is listed by a 'trustdom X -list' command as
  42. "Y ,B,T_uplevel,_,_,_"
  43. X=P(Y)
  44. - X is parent for domain Y
  45. [A,B,C]
  46. - domains A, B, C are in the same enterprise
  47. A\User
  48. - user account from domain A
  49. B:A\User
  50. - attempt to logon user A\User on domain B
  51. Text after // is used as a comment.
  52. 4. Test Cases
  53. Sanity check: on each domain you can perform a local logon with the
  54. local user account (don't forget to grant it locally too the
  55. InteractiveLogonRight)
  56. So, for each domain you can perform a "DOM:DOM\User = PASS"
  57. 4.1 Using Two Domains:
  58. 4.1.1 No trust link between A and B
  59. A:B\User = FAIL
  60. B:A\User = FAIL
  61. 4.1.2 A ---> B
  62. A:B\User = PASS
  63. B:A\User = FAIL
  64. 4.1.3 A <--> B
  65. A:B\User = PASS
  66. B:A\User = PASS
  67. 4.2 Using Three Domains:
  68. 4.2.1 Separate enterprises (i.e. [A] [B] [C])
  69. Logon must succeed depending only on the existance of the trust between
  70. the two domain involved, no transitivity
  71. That is for A <--> B --> C,
  72. A:B\User = PASS // because of A <--> B
  73. A:C\User = FAIL // no transitivity
  74. B:A\User = PASS // because of A <--> B
  75. B:C\User = PASS // because of B ---> C
  76. C:A\User = FAIL
  77. C:B\User = FAIL
  78. 4.2.2 [A,B,C] and B=P(A)
  79. All combinations must pass, that is:
  80. A:B\User = PASS
  81. A:C\User = PASS // due to transitivity inside the enterprise
  82. B:A\User = PASS
  83. B:C\User = PASS
  84. C:A\User = PASS // due to transitivity inside the enterprise
  85. C:B\User = PASS