From: CRDGW2::CRDGW2::MRGATE::"SMTP::CRVAX.SRI.COM::RELAY-INFO-VAX" 9-AUG-1989 10:57 To: MRGATE::"ARISIA::EVERHART" Subj: RE: sysuaf Message-Id: <8908091444.AA13023@crdgw1.ge.com> Received: From KL.SRI.COM by CRVAX.SRI.COM with TCP; Wed, 9 AUG 89 07:17:16 PDT Received: from CUNYVM.CUNY.EDU by KL.SRI.COM with TCP; Wed, 9 Aug 89 06:48:18 PDT Received: from UALR.BITNET by CUNYVM.CUNY.EDU (IBM VM SMTP R1.2.1MX) with BSMTP id 1728; Wed, 09 Aug 89 09:49:49 EDT Date: Wed, 9 Aug 89 08:45 CST From: Dale Miller Subject: RE: sysuaf To: INFO-VAX@KL.SRI.COM X-Vms-To: IN%"INFO-VAX@KL.SRI.COM" Pan Xiaofeng (cs.utexas.edu!usc!polyslo!vlsi3b15!lafcol!panx@TUT.CIS.OHIO-STATE.EDU>) writes: >Hi, I want to write some account management program that will use sysuaf >file. But accessing it through authorize is too slow and painful. Can >someone tell me where to find info about the structure of sysuaf( the >various keys and how different flags are stored)? Other info and/or >advice concerning the manipulation of the file will be appreciated. >Thanks in advance. > >--Xiaofeng Pan >BITNET panx@lafayett >UUCP ..!rutgers!lafcol!panx >( bitnet preferred) Since I thought this might be of general interest, here is the SYSUAF definition in FORTRAN with DTR comments. structure /uaf_record/ byte B_RTYPE ! pos 001-001 USAGE IS BYTE byte B_VERSION ! pos 002-002 USAGE IS BYTE integer*2 W_USRDATOFF ! pos 003-004 USAGE IS WORD character*32 T_USERNAME ! pos 005-036 PICTURE IS X(32) integer*2 W_MEMBER ! pos 037-038 USAGE IS WORD integer*2 W_GROUP ! pos 039-040 USAGE IS WORD integer*4 L_SUB_ID ! pos 041-044 USAGE IS LONG real*8 Q_PARENT_ID ! pos 045-052 USAGE IS QUAD real*8 T_ACCOUNT_1 ! pos 053-060 USAGE IS QUAD character*24 FILLER_1 ! pos 061-084 PICTURE IS X(24) byte B_OWNER_LENGTH ! pos 085-085 USAGE IS BYTE character*31 T_OWNER_1 ! pos 086-116 PICTURE IS X(31) byte B_DEFDEV_LENGTH ! pos 117-117 USAGE IS BYTE character*31 T_DEFDEV_1 ! pos 118-148 PICTURE IS X(31) byte B_DEFDIR_LENGTH ! pos 149-149 USAGE IS BYTE character*63 T_DEFDIR_1 ! pos 150-212 PICTURE IS X(63) byte B_LGICMD_LENGTH ! pos 213-213 USAGE IS BYTE character*63 T_LGICMD_1 ! pos 214-276 PICTURE IS X(63) byte B_DEFAULT_CLI_LENGTH ! pos 277-277 USAGE IS BYTE character*31 T_DEFAULT_CLI_1 ! pos 278-308 PICTURE IS X(31) byte B_CLITABLES_LENGTH ! pos 309-309 USAGE IS BYTE character*31 T_CLITABLES_1 ! pos 310-340 PICTURE IS X(31) real*8 Q_PWD ! pos 341-348 USAGE IS QUAD real*8 Q_PWD2 ! pos 349-352 USAGE IS QUAD integer*2 W_LGIFAILS ! pos 353-354 USAGE IS WORD integer*2 W_SALT ! pos 355-356 USAGE IS WORD byte B_ENCRYPT ! pos 357-357 USAGE IS BYTE byte B_ENCRYPT2 ! pos 358-358 USAGE IS BYTE integer*2 B_PWD_LENGTH ! pos 359-360 USAGE IS WORD real*8 Q_EXPIRATION ! pos 361-368 USAGE IS DATE real*8 Q_PWD_LIFETIME ! pos 369-376 USAGE IS QUAD real*8 Q_PWD_DATE ! pos 377-384 USAGE IS DATE real*8 Q_PWD2_DATE ! pos 385-392 USAGE IS DATE real*8 Q_LASTLOGIN_I ! pos 393-400 USAGE IS DATE real*8 Q_LASTLOGIN_N ! pos 401-408 USAGE IS DATE real*8 Q_PRIV1 ! pos 409-416 USAGE IS QUAD real*8 Q_DEF_PRIV1 ! pos 417-424 USAGE IS QUAD character*20 MIN_CLASS ! pos 425-444 PICTURE IS X(20) character*20 MAX_CLASS ! pos 445-464 PICTURE IS X(20) integer*4 L_FLAGS ! pos 465-468 USAGE IS LONG character*3 B_NETWORK_ACCESS_P ! pos 469-471 PICTURE IS X(3) character*3 B_NETWORK_ACCESS_S ! pos 472-475 PICTURE IS X(3) character*3 B_BATCH_ACCESS_P ! pos 476-479 PICTURE IS X(3) character*3 B_BATCH_ACCESS_S ! pos 480-482 PICTURE IS X(3) character*3 B_LOCAL_ACCESS_P ! pos 483-485 PICTURE IS X(3) character*3 B_LOCAL_ACCESS_S ! pos 486-488 PICTURE IS X(3) character*3 B_DIALUP_ACCESS_P ! pos 489-491 PICTURE IS X(3) character*3 B_DIALUP_ACCESS_S ! pos 492-494 PICTURE IS X(3) character*3 B_REMOTE_ACCESS_P ! pos 495-497 PICTURE IS X(3) character*3 B_REMOTE_ACCESS_S ! pos 498-500 PICTURE IS X(3) character*13 FILLER_2 ! pos 501-513 PICTURE IS X(13) byte B_PRIMEDAYS ! pos 514-514 USAGE IS BYTE byte B_PRI ! pos 515-515 USAGE IS BYTE byte B_QUEPRI ! pos 516-516 USAGE IS BYTE integer*2 W_MAXJOBS ! pos 517-518 USAGE IS WORD integer*2 W_MAXACCTJOBS ! pos 519-520 USAGE IS WORD integer*2 W_MAXDETACH ! pos 521-522 USAGE IS WORD integer*2 W_PRCCNT ! pos 523-524 USAGE IS WORD integer*2 W_BIOLM ! pos 525-526 USAGE IS WORD integer*2 W_DIOLM ! pos 527-528 USAGE IS WORD integer*2 W_TQCNT ! pos 529-530 USAGE IS WORD integer*2 W_ASTLM ! pos 531-532 USAGE IS WORD integer*2 W_ENQLM ! pos 533-534 USAGE IS WORD integer*2 W_FILLM ! pos 535-536 USAGE IS WORD integer*2 W_SHRFILLM ! pos 537-538 USAGE IS WORD integer*4 L_WSQUOTA ! pos 539-542 USAGE IS LONG integer*4 L_DFWSCNT ! pos 543-546 USAGE IS LONG integer*4 L_WSEXTENT ! pos 547-550 USAGE IS LONG integer*4 L_PGFLQUOTA ! pos 551-554 USAGE IS LONG integer*4 L_CPUTIM ! pos 555-558 USAGE IS LONG integer*4 L_BYTLM ! pos 559-562 USAGE IS LONG integer*4 L_PBYTLM ! pos 563-566 USAGE IS LONG integer*4 L_JTQUOTA ! pos 567-570 USAGE IS LONG integer*2 W_PROXY_LIM ! pos 571-572 USAGE IS WORD integer*2 W_PROXIES ! pos 573-574 USAGE IS WORD integer*2 W_ACCOUNT_LIM ! pos 575-576 USAGE IS WORD integer*2 W_ACCOUNTS ! pos 577-578 USAGE IS WORD end structure -------------------------------------------------------------------------- | Dale O. Miller | # # ### # #### | | University of Arkansas at Little Rock | # # # # # # # | | 2801 S. University | # # ##### # #### | | Little Rock, AR 72204-1099 USA | # # # # # # # | | (501)569-8714 | ### # # ##### # # | | DOMILLER@UALR.BITNET | Disclaimer: This does not | | 92-20-28 W,34-43-30 N.ICBMNET | say what I say it doesn't say. | --------------------------------------------------------------------------