mmuegel@camdev.comm.mot.com (Mike "Happy" Muegel) (10/26/90)
I have run into a problem on a C program I am writing and I am sure it has to do with Domain/OS protected subsystems. Anyway, the program is supposed to use /com/edsd to let a user modify his/her subscriber directory information since we have the ACLs set so that only root can run edsd. I initially tried just setting the setuid bit on the executable and changing its owner to root. The program did indeed run as root; however, when it tried to use edsd via execl, it apparently did not have the rights to do so. Here is the whimpy function that calls edsd: /* * Changes the current mail forwarding scheme for login to address. This * function will NEVER return. */ void Change_Address (callee, login, address) char *callee; char *login; char *address; { setuid (0); printf ("real = %d eff = %d\n", getuid (), geteuid ()); aclm_$up (); execl ("/com/edsd", "edsd", "-c", login, address, (char *) 0); aclm_$down (); fprintf (stderr, "%s: could not execute edsd\n", callee); exit (1); } /* of Change_Address */ Here is the output I get: 83 bsd4.3 ~/src/tools % lsacl a.out root.%.% prwx- setuid %.staff.% -r-x- %.%.none [Ignore] %.%.% -r-x- %.sys_admin.apollo -rwxk 84 bsd4.3 ~/src/tools % ./a.out mmuegel@unix real = 0 eff = 0 Error modifying registry, User not authorized to perform operation (network computing system/Registry Server) This error makes me think that protected subsystems come into play. However, I can not find a subsystem for the registry. I looked in /sys/subsys on our master rgy node and there is no subsystem manager for the registry. aclm_$up stuff does not make any sense for the case of edsd since it is not a data file!?! Am I totally clueless (no flames, please) on this problem or does anyone have any suggestions. This is my first real attempt at Domain/OS BSD C and I could use all the help I can get. Thanks, -Mike -- +-----------------------------------------------------------------------------+ | Mike Muegel | Internet: mmuegel@mot.com | | Software Tools Engineer | UUCP: uunet!motcid!muegel | | Fort Worth Research and Design Center | Voice: (817) 232-6623 | | Cellular Infrastructure Group | Fax: (817) 232-6030 | | Radio Telephone and Systems Group | Mail: 5555 North Beach St. | | Motorola, Inc. | Fort Worth, TX 76137 | +-----------------------------------------------------------------------------+