home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / dsstlkt5.zip / dssos2tk / dss / DSSAPPLY.INP < prev    next >
Text File  |  1998-05-08  |  12KB  |  299 lines

  1. ********************************************************************************
  2. *
  3. * Filename:     DSSAPPLY.INP
  4. *
  5. * Description:  Instructions and examples for creating a DSSAPPLY input file
  6. *
  7. * Date Created: 3/01/96 (PCS)
  8. *
  9. ********************************************************************************
  10. *
  11. * INSTRUCTIONS FOR USING DSSAPPLY -
  12. *
  13. * DSSAPPLY is a sample program which uses data elements supplied by an input file
  14. * to replace or manipulate Access Control Lists (ACLs).  Depending on the action
  15. * selected, DSSAPPLY copies the ACLs (or changes to the ACLs) from the target
  16. * directory to each subdirectory logically residing below it.
  17. *
  18. * The syntax for DSSAPPLY is:
  19. *
  20. *     DSSAPPLY input_file_name [cell_name, realm_name, server_name]
  21. *
  22. * where:
  23. *
  24. *     input_file_name is the name of the input file containing the specifications
  25. *         for the apply
  26. *
  27. *     cell_name is an optional parameter specifying the name of the cell to be
  28. *         administered (note: a cell_name specified in the input file overrides a
  29. *         command line entry)
  30. *
  31. *     realm_name is an optional parameter specifying the name of the realm to be
  32. *         administered (note: a realm_name specified in the input file overrides
  33. *         a command line entry)
  34. *
  35. *     server_name is an optional parameter specifying the name of the server to be
  36. *         administered (note: a server_name specified in the input file overrides
  37. *         a command line entry)
  38. *
  39. ********************************************************************************
  40. *
  41. * INSTRUCTIONS FOR CREATING A DSSAPPLY INPUT FILE -
  42. *
  43. * The DSSAPPLY input file translates directly into the data elements that need to
  44. * be supplied to the two Apply API functions called by DSSAPPLY:
  45. *
  46. *     ent_acl_replace_apply(), and
  47. *     ent_acl_manipulate_apply()
  48. *
  49. * Each line of the input file consists of a keyword followed by one or more blanks
  50. * followed by the parameter associated with the keyword.  In some cases, a standalone
  51. * keyword is used to indicate the begin or end of a file section.  In most cases, a
  52. * keyword and parameter can be omitted if the default parameter value is assumed.
  53. *
  54. * Comments lines begin with any of the following characters: * / # ; %
  55. *
  56. * Except for names and UUIDs, all inputs are case insensitive.
  57. *
  58. ************* A note about syntax used in the instructions below ***************
  59. *
  60. * A '|' is used to indicate selection choices and is not part of the input file
  61. * syntax.
  62. *
  63. * The '()' is used to indicate information about the parameters, and likewise, is
  64. * not included in the syntax of the actual input file.
  65. *
  66. * Separate, and alternative sections are separated by '*'s and commented for clarity.
  67. *
  68. * The instructions are followed by examples at the end of this file.
  69. *
  70. ********************************************************************************
  71. *
  72. * The first portion of the input file defines a set of fixed initialization data:
  73. *
  74. ********************************************************************************
  75. *
  76. *     cell_name           name of cell
  77. *     realm_name          name of realm
  78. *     server_name         name of server containing acl database
  79. *     call_type           repl|manip  (default is manip)
  80. *     res_global_name     full file system pathname of starting directory object
  81. *     sec_acl_type        obj|def_obj|def_container  (default is obj)
  82. *     tolerance           yes|no   (continue if access deny occurs; default is no)
  83. *     recursion           yes|no   (apply to subdirectories and files; default is no)
  84. *     max_errors          size (in chars) of the error buffer  (default is 1024)
  85. *
  86. ********************************************************************************
  87. *
  88. * The second portion of the input file is formatted according to the parameter
  89. * supplied for the call_type keyword: repl(ace) or manip(ulate).
  90. *
  91. * If the call_type is manip(ulate), the following input file data is used to build
  92. * the entries_to_manipulate_t structure:
  93. *
  94. ********************************************************************************
  95. *
  96. *     num_manip_entries   number of entries listed below
  97. *     manip_entry_num 1
  98. *       action            rename_user|rename_group|modify_add_or_create|modify_add|
  99. *                         delete|modify_delete|replace_or_create|replace|create
  100. *
  101. ********************************************************************************
  102. * Include following lines if action = rename_user|rename_group
  103. *
  104. ********************************************************************************
  105. *
  106. *       itr_old_local     true|false (default is true)
  107. *       itr_new_local     true|false (default is true)
  108. *       itr_old_name      old user or group name
  109. *       itr_old_uuid      old uuid of user or group (not required if itr_old_name supplied)
  110. *       itr_new_name      new user or group name
  111. *       itr_new_uuid      new uuid of user or group (not required if itr_new_name supplied)
  112. *       itr_entry_end
  113. *
  114. ********************************************************************************
  115. * Include one of the following formats if action = modify_add_or_create|
  116. * modify_add|delete|modify_delete|replace_or_create|replace|create.  Choose
  117. * format based on the value of sec_acl_entry_type.
  118. *
  119. ****************************** Format # 1 ************************************************
  120. *
  121. *       sec_acl_entry_type  any_other_deleg|group_obj_deleg|other_obj_deleg|user_obj_deleg|
  122. *                           user_obj|group_obj|other_obj|any_other|mask_obj|unathenticated
  123. *       sec_acl_perms       d|i|c|t|w|r|x|none
  124. *       sec_acl_entry_end
  125. *
  126. ****************************** Format # 2 ************************************************
  127. *
  128. *       sec_acl_entry_type  user|group|foreign_other|user_deleg|group_deleg|for_other_deleg
  129. *       sec_acl_perms       d|i|c|t|w|r|x|none
  130. *       sec_acl_id.uuid     new uuid of user or group (not required if sec_acl_id.name supplied)
  131. *       sec_acl_id.name     new name of user or group
  132. *       sec_acl_entry_end
  133. *
  134. ****************************** Format # 3 ************************************************
  135. *
  136. *       sec_acl_entry_type  foreign_user|foreign_group|for_user_deleg|for_group_deleg
  137. *       sec_acl_perms       d|i|c|t|w|r|x|none
  138. *       sec_acl_id.uuid     new uuid of user or group (not required if sec_acl_id.name supplied)
  139. *       sec_acl_id.name     new name of user or group
  140. *       sec_acl_rl.uuid     uuid of realm security server (not required if sec_acl_rl.name supplied)
  141. *       sec_acl_rl.name     name of realm security server
  142. *       sec_acl_entry_end
  143. *
  144. ********************************************************************************
  145. * Repeat above sequence for additional manip(ulate) data entries
  146. ********************************************************************************
  147. *     manip_entry_num 2
  148. *       ...
  149. *     manip_entry_num <n>
  150. *
  151. ****** This is the end of the instruction for manip(ulate)! ***************
  152. *
  153. ********************************************************************************
  154. * If the call_type is repl(ace), the following input file data is used to build a
  155. * sec_acl_list_t structure:
  156. * Choose one of the 3 formats below based on the value of sec_acl_entry_type.
  157. *
  158. ********************************************************************************
  159. *
  160. *     num_sec_acl_entries   number of entries listed below
  161. *     sec_acl_entry_num 1
  162. ****************************** Format # 1 ************************************************
  163. *       sec_acl_entry_type  any_other_delegate|group_object_delegate|user_obj_delegate|
  164. *                           user_obj|group_obj|other_obj|any_other|mask_obj|unauthenticated
  165. *       sec_acl_perms       r|w|x|c|i|d|t|none
  166. *       sec_acl_entry_end
  167. **************************** End Format # 1 ************************************************
  168. *     sec_acl_entry_num 2
  169. ****************************** Format # 2 ************************************************
  170. *       sec_acl_entry_type  user|group|foreign_other|user_delegate|group_delegate|
  171. *                           for_other_delegate
  172. *       sec_acl_perms       r|w|x|c|i|d|t|none
  173. *       sec_acl_id.uuid     security server uuid (not needed if name provided; see example)
  174. *       sec_acl_id.name     security server name
  175. *       sec_acl_entry_end
  176. **************************** End Format # 2 ************************************************
  177. *     sec_acl_entry_num 3
  178. ****************************** Format # 3 ************************************************
  179. *       sec_acl_entry_type  foreign_user|foreign_group|for_user_delegate|for_group_delegate
  180. *       sec_acl_perms       r|w|x|c|i|d|t|none
  181. *       sec_acl_id.uuid     security server uuid (not needed if name provided; see example)
  182. *       sec_acl_id.name     security server name
  183. *       sec_acl_rl.uuid     realm security server uuid (not required if sec_acl_rl.name supplied)
  184. *       sec_acl_rl.name     realm security server name
  185. *       sec_acl_entry_end
  186. **************************** End Format # 3 ************************************************
  187. ********************************************************************************
  188. * Repeat above sequence for additional repl(ace) data entries
  189. ********************************************************************************
  190. *     sec_acl_entry_num 4
  191. *           ...
  192. *     sec_acl_entry_num <n>
  193. *
  194. ****** This is the end of the instruction for repl(ace)! ************************
  195. *
  196. * OTHER USEFUL INFORMATION -
  197. *
  198. * This is an example of a uuid:   572f5d00-c761-11ce-8b50-10005a7b953d
  199. * In cases where both a principal name and uuid is defined, only the name needs to
  200. * be entered (the program will obtain the associated uuid from the Registry).
  201. *
  202. * Permissions encoding: none or a combination of dictwrx
  203. *
  204. *     permission       hex value     decimal
  205. *     __________       _________     _______
  206. *
  207. *     none             0x                  0
  208. *     r  read          0x......1           1
  209. *     w  write         0x......2           2
  210. *     x  execute       0x......4           4
  211. *     c  control       0x......8           8
  212. *     i  insert        0x.....10          16
  213. *     d  delete        0x.....20          32
  214. *     t  test          0x.....40          64
  215. *
  216. ********************************************************************************
  217. ********************************************************************************
  218. *
  219. * DSSAPPLY INPUT FILE EXAMPLES -
  220. *
  221. * EXAMPLE #1 -
  222. *
  223.  
  224. cell_name           city88
  225. realm_name          AUSZOO
  226. server_name         DRAGON88
  227. call_type           repl
  228. *call_type           manip
  229. res_global_name     f:\testtree
  230. sec_acl_type        obj
  231. tolerance           yes
  232. recursion           yes
  233.  
  234. * Since we are replacing existing ACLs, we use the following formats...
  235.  
  236. num_sec_acl_entries 9
  237.  
  238. sec_acl_entry_num   1
  239. sec_acl_entry_type  user_obj
  240. sec_acl_perms       cdrtwxi
  241. sec_acl_entry_end
  242.  
  243. sec_acl_entry_num   2
  244. sec_acl_entry_type  group_obj
  245. sec_acl_perms       cd
  246. sec_acl_entry_end
  247.  
  248. sec_acl_entry_num   3
  249. sec_acl_entry_type  other_obj
  250. sec_acl_perms       cdw
  251. sec_acl_entry_end
  252.  
  253. sec_acl_entry_num   4
  254. sec_acl_entry_type  any_other
  255. sec_acl_perms       cdt
  256. sec_acl_entry_end
  257.  
  258. sec_acl_entry_num   5
  259. sec_acl_entry_type  mask_obj
  260. sec_acl_perms       wrx
  261. sec_acl_entry_end
  262.  
  263. sec_acl_entry_num   6
  264. sec_acl_entry_type  unauthenticated
  265. sec_acl_perms       c
  266. sec_acl_entry_end
  267.  
  268. sec_acl_entry_num   7
  269. sec_acl_entry_type  user
  270. sec_acl_perms       none
  271. sec_acl_id.name     USER1
  272. sec_acl_entry_end
  273.  
  274. sec_acl_entry_num   8
  275. sec_acl_entry_type  group
  276. sec_acl_perms       w
  277. sec_acl_id.name     TESTGRP1
  278. sec_acl_entry_end
  279.  
  280. sec_acl_entry_num   9
  281. sec_acl_entry_type  foreign_other
  282. sec_acl_perms       cri
  283. sec_acl_id.name     USER2
  284. sec_acl_entry_end
  285.  
  286. *sec_acl_entry_num   10
  287. *sec_acl_entry_type  foreign_user
  288. *sec_acl_perms       wixr
  289. *sec_acl_id.name     USER5
  290. *sec_acl_rl.name     LSE50DOM
  291. *sec_acl_entry_end
  292.  
  293. *sec_acl_entry_num   11
  294. *sec_acl_entry_type  foreign_group
  295. *sec_acl_perms       ixne
  296. *sec_acl_id.name     GROUP3
  297. *sec_acl_rl.name     LSE50DOM
  298. *sec_acl_entry_end
  299.