How to set restricted user by rksh? Cannot use Perl module DBD::Oracle

Hi, all,

I need to add a user to our system in order to let him use Oracle and Perl. We want him to remain in his home directory and have no access to our data and other users' files.

I created a separate group for this user, and set his shell to rksh when I created his account, by which he can not redirect to other places. But when I log in with his account to test, I found I still can browse to other places via File Manager GUI. I then set the ACLs list to restrict his access to other users folders under /export/home, as well as our data folders.

The next I found the PATH of this accout was not set correctly because it could not find Perl, so I set the PATH in .dtprofile, .profile, .kshrc to make Perl available to this account. Now I found it could not use Perl module DBD::Oracle, the system gave the following message when I tried to run a perl script:

install_driver(Oracle) failed: Can't load '/usr/local/lib/perl5/site_perl/5.8.3/sun4-solaris/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: ld.so.1: perl5.8.3: fatal: /u01/oracle/IBMT/product/9.2.0/lib/libclntsh.so.9.0: wrong ELF class: ELFCLASS64 at /usr/local/lib/perl5/5.8.3/sun4-solaris/DynaLoader.pm line 229.
at (eval 1) line 3
Compilation failed in require at (eval 1) line 3.
Perhaps a required shared library or dll isn't installed where expected

Another thing I noticed is when I open the terminal and type pwd, it returns a different path from HOME, I've tried to set HOME but doesn't seem to work.

From your experts point of view, what canI do to achieve my goals? (The Oracle account for this user has beed set to only allow him to use his own data.)

TIA.
Alan

This sounds like you want a jail shell. Allowing the user to login and use very pacific programs and nothing else.

checkout:

You might also find some Jail Shells for BSD that could be adapted to Solaris.

Thanks for the quick reply, I'll try it, and see if Perl and Oracle work for this user under this shell.