<<< DUA0:[NOTES$LIBRARY]VAX_VMS.NOTE;1 >>> -< SIG VAX/VMS >- ================================================================================ Note 711.0 INSTALL TOTO.COM/PRIV=SYSPRV ? 17 replies DECUSF::DIAKONOFF_N "Responsable programmathèque" 22 lines 5-MAR-1990 18:21 -------------------------------------------------------------------------------- Mon problème : Dans le cadre d'une application générale sur des utilisateurs de différents groupes, je cherche le compromis le moins compliqué mais assez efficace pour que n'importe qui puisse créer un fichier RMS via un FDL qui est différent de son groupe, sachant que pour l'instant ma procédure est un .COM. Pour le moment nos solutions bestiales sont : * Appartenance du fichier à [*,*] (Bonjour la sécurité). * Mettre à tous les utilisateurs le privilège SYSPRV et le mettre en position uniquement dans la procédure .COM. * Eventuellement mettre seulement un groupe de personnes autorisées mais celles-ci varient d'une année sur l'autre, et faudrait faire la manipulation sur une cinquantaine de VAX connactable uniquement par le RTC. En vérité, nous cherchons la possibilité de mettre une procédure avec des privilèges, un peu comme on fait avec les EXE. ================================================================================ Note 711.1 INSTALL TOTO.COM/PRIV=SYSPRV ? 1 of 17 DECUSF::ROUGEVIN_P 21 lines 5-MAR-1990 18:47 -< Facile... >- -------------------------------------------------------------------------------- Une solution simple : creer un executable (installe avec le(s) privilege(s) desire(s)) dont la seule fonction soit de "spawner" le toto.com en question... Remarque : le ss process ainsi cree aura lesdits privileges AUTORISES (et non ACTIFS)... le toto.com devra donc commencer par : $ set proc/priv=... $ ..... Un exemple tres simple en C pour faire ledit executable: main() {system("@toto.com");} puis $ cc xxx $ link/notrace xxx $ install add/priv=(...) mydirectory:xxx.exe Ca marche tres bien ! ================================================================================ Note 711.2 INSTALL TOTO.COM/PRIV=SYSPRV ? 2 of 17 DECUSF::FOUCHET_F "Francois - OMF" 5 lines 5-MAR-1990 19:37 -< J'ai pas compris >- -------------------------------------------------------------------------------- Je suis pas sur d'avoir bien compris ... Si le probleme est d'obtenir SYSPRV pour lire le FDL, il suffit de passer sa protection en WORLD=E (et pareil pour la directorie qui le contiend). ================================================================================ Note 711.3 INSTALL TOTO.COM/PRIV=SYSPRV ? 3 of 17 DECUSF::OURGHANLIA_B 3 lines 6-MAR-1990 15:16 -< GOTO Telebase >- -------------------------------------------------------------------------------- Si vous voulez faire executer a un process sans privilege une commande DCL necessitant des privileges, vous pouvez utiliser un exemple documente dans la telebase ================================================================================ Note 711.4 INSTALL TOTO.COM/PRIV=SYSPRV ? 4 of 17 DECUSF::DIAKONOFF_N "Responsable programmathèque" 9 lines 6-MAR-1990 18:10 -< OK pour la TELEBASE. >- -------------------------------------------------------------------------------- Réponse à .2 : Le problème est de faire un CREATE d'un fichier sans aucun privilège. Réponse à .3 : "Notes" de DECUSF est plus friendly, mais je vais faire le saut [de puce surtout à 1200 bauds]. ================================================================================ Note 711.5 INSTALL TOTO.COM/PRIV=SYSPRV ? 5 of 17 DECUSF::JOUVIN_M "Michel Jouvin - CECM/CNRS Vitry" 4 lines 7-MAR-1990 10:56 -< ACL ? >- -------------------------------------------------------------------------------- Si le pb est d'autoriser un acces fichier, n'y a-t-il pas de solution avec des acl ? Michel ================================================================================ Note 711.6 INSTALL TOTO.COM/PRIV=SYSPRV ? 6 of 17 DECUSF::DIAKONOFF_N "Responsable programmathèque" 15 lines 7-MAR-1990 11:38 -< Réponse à .1, .5 et BO. >- -------------------------------------------------------------------------------- Réponse à .1 : -------------- Oui pour ceux qui connaisent C. Il doit falloir quelques include librairie .H sans doute? Le ou lesquelles. Réponse à .5 : -------------- Le Pb n'est pas d'autoriser ou non un accés à un fichier mais d'autoriser la création de fichiers. Pour BO : --------- Bien trouvé (sans trop de mal) la note dans la Télébase, mais je persiste et signe il faut au départ aller à la pêche et ramener le poisson tout doucement au bord de la rivière. Après ça se complique car je n'ai pas trouvé l'épuisette pour le prendre correctement. Au lieu de récupérer proprement cette note dans un fichier, je n'ai trouvé qu'un "vulgaire" Hardcopy [F2]. ================================================================================ Note 711.7 INSTALL TOTO.COM/PRIV=SYSPRV ? 7 of 17 DECUSF::MANET_P "Philippe Manet - SOGIDEC" 4 lines 7-MAR-1990 18:33 -< Use your favorite language >- -------------------------------------------------------------------------------- En fait, n'importe que langage est adequat. Personnellement, j'utiliserai plutot un Lib$Do_Command('@Le.Com'), car cela evite de spawner un sous-process. ================================================================================ Note 711.8 INSTALL TOTO.COM/PRIV=SYSPRV ? 8 of 17 DECUSF::GERARD_G "G. Gerard ENST centre de calcul" 2 lines 7-MAR-1990 18:55 -< do command does not >- -------------------------------------------------------------------------------- Oui mais ca marche pas. car les privileges sont resettes avant le lib$do_command, qui s'execute a la fin du rundown de l'image. ================================================================================ Note 711.9 INSTALL TOTO.COM/PRIV=SYSPRV ? 9 of 17 DECUSF::ROUGEVIN_P 15 lines 7-MAR-1990 20:21 -< Ca marche tel que... >- -------------------------------------------------------------------------------- > Réponse à .1 : > -------------- Oui pour ceux qui connaisent C. Il doit falloir > quelques include librairie .H sans doute? Le ou lesquelles. Aucun include n'est necessaire le programme marche tel que... (seul detail : $ DEFINE LNK$LIBRARY SYS$LIBRARY:VAXCRTL) ce n'est peut etre pas d'une elegance folle, mais ca marche bien : c'est la methode que j'utilise chez moi pour faire executer des .COM privilegie a des users sans privileges... Si vous n'aimez pas le C, je pense qu'un appel a LIB$SPAWN dans le langage de votre choix aura le meme effet... N'oubliez pas de linker avec /NOTRACE, sinon l'EXE refusera de se laisser installer... Bien sur, il est hautement recommande de proteger le TOTO.COM ainsi appele, que n'importe qui ne puisse pas lui substituer un fichier "pirate"... ================================================================================ Note 711.10 INSTALL TOTO.COM/PRIV=SYSPRV ? 10 of 17 DECUSF::DIAKONOFF_N "Responsable programmathèque" 4 lines 8-MAR-1990 19:25 -< Point final pour moi. >- -------------------------------------------------------------------------------- Merci de tous ces renseignements. En définitive, nous avons utilisé le programme qui se trouve dans la Télébase. ================================================================================ Note 711.11 INSTALL TOTO.COM/PRIV=SYSPRV ? 11 of 17 DECUSF::FAUCONNET_A "Alain,INSERM,Res.SIG Graphique" 13 lines 8-MAR-1990 23:39 -< Link C >- -------------------------------------------------------------------------------- Attention la methode de link : $ link monprogramme,clink/opt avec clink.opt contenant : sys$library:vaxcrtl.exe/share est -je crois- bien preferable au link avec la librairie objet vaxcrtl.olb. Cela genere des executables plus petits et evite des problemes de mise a jour de vaxcrtl.olb ================================================================================ Note 711.12 INSTALL TOTO.COM/PRIV=SYSPRV ? 12 of 17 DECUSF::ROUGEVIN_P 1 line 9-MAR-1990 07:58 -< Tres bonne remarque... >- -------------------------------------------------------------------------------- ================================================================================ Note 711.13 INSTALL TOTO.COM/PRIV=SYSPRV ? 13 of 17 DECUSF::TARRAGO_X "Xavier Tarrago CEA/Saclay" 4 lines 12-MAR-1990 17:18 -< On peut voir? >- -------------------------------------------------------------------------------- Y a-t-il une bonne raison pour que le programme de la telebase ne soit pas mis dans VMS:. Comme il est dit precedemment, Notes est plus pratique. ================================================================================ Note 711.14 INSTALL TOTO.COM/PRIV=SYSPRV ? 14 of 17 DECUSF::DIAKONOFF_N "Responsable programmathèque" 3 lines 13-MAR-1990 16:22 -< Dans VMS:PRIVILEGES.MAR >- -------------------------------------------------------------------------------- Comme j'ai du me le retaper entièrement (je n'ai la possibilité que de faire HARDCOPY à partir de la télébase), je mets ce petit fichier macro dans VMS:PRIVILEGES.MAR. ================================================================================ Note 711.15 INSTALL TOTO.COM/PRIV=SYSPRV ? 15 of 17 DECUSF::TARRAGO_X "Xavier Tarrago CEA/Saclay" 1 line 13-MAR-1990 18:41 -< Merci... >- -------------------------------------------------------------------------------- ================================================================================ Note 711.16 INSTALL TOTO.COM/PRIV=SYSPRV ? 16 of 17 DECUSF::FOUCHET_F "Francois FOUCHET - OMF" 8 lines 13-MAR-1990 21:42 -< Attention, detournement possible >- -------------------------------------------------------------------------------- En tous cas, je ne vous recommande pas de l'utiliser sous cette forme etant donne les risques de reassignation du logical utilise comme fichier d'entree. Un petit fute aurait tot fait de l'assigner dans son coin sur un fichier de commande "maison" dont l'effet pourrait etre interressant. A mon avis, il est moins souple d'utiliser une file spec complete, mais c'est beaucoup plus sur pour votre securite ... ================================================================================ Note 711.17 INSTALL TOTO.COM/PRIV=SYSPRV ? 17 of 17 DECUSF::LELEGARD_T "Digital, TSSC, Ada/C/VMS" 14 lines 14-MAR-1990 10:07 -------------------------------------------------------------------------------- En ce qui concerne la methode la plus simple (a taper lors du link) et la plus efficace (en taille de l'image), je choisis : $ library /create /shareable sys$login:vaxcrtl.olb sys$share:vaxcrtl et, dans le login.com : $ define lnk$library sys$login:vaxcrtl.olb En fait, je me suis cree une library d'images partageables diverses et variees qui ne sont pas dans sys$share:imagelib.olb et je fais pointer lnk$library dessus lors du login. Vite fait et propre...