- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- Re: How to SPAWN from OpenVMS CAPTIVE account in P...
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Discussions
Forums
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО04-23-2008 10:20 PM
тАО04-23-2008 10:20 PM
How to script that in Perl ?
Cheers,
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО04-24-2008 12:06 AM
тАО04-24-2008 12:06 AM
Re: How to SPAWN from OpenVMS CAPTIVE account in Perl
first of all welcome to ITRC OpenVMS Forum.
Within a captive account it's not possible to use the spawn command. See the OpenVMS System Manager Manual. ftp://ftp.hp.com/pub/openvms/doc/AA-PV5MH-TK.PDF
A person using a captive account is locked into the application software where access to the DCL level is denied.
Regards
Geni
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО04-24-2008 01:10 AM
тАО04-24-2008 01:10 AM
Re: How to SPAWN from OpenVMS CAPTIVE account in Perl
The customer has successfully made the lib$spawn call in their C programs, in those CAPTIVE accounts, by setting the TRUSTED.
#ifndef CLI$M_TRUSTED
#define CLI$M_TRUSTED 64
bit 6 TRUSTED If this bit is set, it indicates a SPAWN command on behalf of the application. If this bit is not set, it indicates that the SPAWN command originates from user. SPAWN commands originating from users are disallowed in captive accounts (DCL).
Right now, they are trying to figure out how to do that in Perl.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО04-24-2008 01:21 AM
тАО04-24-2008 01:21 AM
Re: How to SPAWN from OpenVMS CAPTIVE account in Perl
First, let me join Geni in welcoming you!
And his answer is correct.
The solution would be to change the CAPTIVE flag to RESTRICTED in the user's UAF record.
The confusion is understandable for older software:
The behavior of the Restricted flag used to belong to the CAPTIVE setting. Then (VMS V5 timeframe IIRC) it became desirable to have a MORE restricted set of limitations. As it was contra-intuitive to have CAPTIVE be less severe than the new-to-introduce term RESTRICTED, the behavior of the flag got the new name, and the behavior of CAPTIVE stayed the most limited, but got more constraints added.
But in older software it is not uncommon to find specifications named CAPTIVE while referring to the old captive behavior that should now be rightly termed RESTRICTED.
One more example of the really BAD aspects of re-branding products, functionalities, and whatever. MORE so if the old name lives on in a new meaning.
hth
Proost.
Have one on me.
jpe
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО04-24-2008 02:00 AM
тАО04-24-2008 02:00 AM
Re: How to SPAWN from OpenVMS CAPTIVE account in Perl
if really desired, you may try to change the perl source module (should be in VMS.C) to specify the CLI$M_TRUSTED bit, when performing the LIB$SPAWN for the system() call. Then create a special PERL version for those users.
But perhaps specifying restricted instead of captive is enough security.
regards Kalle
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО04-24-2008 02:43 AM
тАО04-24-2008 02:43 AM
Re: How to SPAWN from OpenVMS CAPTIVE account in Perl
I have tried to take away the CAPTIVE flag, leaving only the RESTRICTED, I was able to SPAWN out from the Menu through TPU ( as quite a lot of the Menu options are written using TPU and other utilities that could spawn out within the utility itself).
Maybe I didn't describe the senerio well enough. The customer is trying to lock some very powerful accounts with a MENU, but still be able to SPAWN out within the option itself, performing some tasks, and back to the Menu again. But not able to do a "manual spawn" within a utility like TPU.
confused ? me too :-)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО04-24-2008 08:47 AM
тАО04-24-2008 08:47 AM
SolutionWe understand.
Though not the answer you wanted, the answer you got was correct. You can't. Not directly. (Well, technically, you can -- but you can or will also end up owning the security holes you might open if you choose to do that.)
The approaches suggested previously are the correct and appropriate approaches. Fix the code to allow it to operate from within a trusted environment.
Rather than viewing this as a problem in the customer's configuration and something to be worked around or turned off, I'd suggest viewing this case as an opportunity to review and to improve your code, and to improve the safety and reliability and security of your code.
As for options, you can change the Perl spawn code itself to set the "trusted" flag (and rebuild perl), you can switch to and use "restricted" in place of "captive", you can call into an image which spawns for you (and be very careful to avoid introducing a security hole to do this), or such. Or you can move the Perl code into another process context (and particularly into a context not marked as captive), such as into a batch job you might SUBMIT or a detached process (running LOGINOUT) that's under another username, or into a server process that the untrusted process can send along a request.
If you really want to enable the SPAWN mechanism without resetting the account flags to allow it -- an approach which is kind of like leaving the back door, the side door, and all the windows in the house open, while locking the front door -- then look at setting bit 6 in the SECURITY_POLICY system parameter. This bit opens up everything everywhere, so you can end up opening a security hole elsewhere. And potentially owning the holes you might open. I do not recommend this approach, and -- if I were the customer here -- do recognize you could lose substantial credibility for suggesting this approach "incautiously".
Trying to mix together trusted operations and untrusted operations into the same context is difficult at best. I'd suggest up-rating the existing code, rather than risking exposing your customer.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО04-24-2008 05:00 PM
тАО04-24-2008 05:00 PM
Re: How to SPAWN from OpenVMS CAPTIVE account in Perl
Upgrade the code and disable the SPAWN mechanism.
Convert all Perl scripts to C, still enable the SPAWN mechanism. ( I think most of the codes are in C)
Rebuild Perl, still enable the SPAWN mechanism. But this will affect the future maintenance of the Perl module.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО04-25-2008 07:03 AM
тАО04-25-2008 07:03 AM
Re: How to SPAWN from OpenVMS CAPTIVE account in Perl
True. Maybe. Sort of. True, if you make your code changes and do not contribute them back to the Perl repository, or if you do contribute the changes back out and the changes aren't accepted.
If you make a clean set of code changes to add this and you contribute them back out, you can easily see your changes accepted back into the Perl source pool.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО04-25-2008 02:44 PM
тАО04-25-2008 02:44 PM
Re: How to SPAWN from OpenVMS CAPTIVE account in Perl
The wrong way to do it would be to modify the lib$spawn call within the safe_popen routine in [.vms]vms.c in the Perl sources. That would make all pipes, backticks, and system() calls in every Perl program ignore the default account settings.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО04-25-2008 04:02 PM
тАО04-25-2008 04:02 PM
Re: How to SPAWN from OpenVMS CAPTIVE account in Perl
Cheers !!