Informix

 View Only
Expand all | Collapse all

Bad permissions on $INFORMIXDIR/tmp after installing CSDK

  • 1.  Bad permissions on $INFORMIXDIR/tmp after installing CSDK

    Posted Sun March 19, 2023 11:52 PM

    I recently upgraded my developer copy of Informix 14.10.FC10 and
    the matching CSDK.  OS is Linux x86_64.

    Something in the CSDK install process munges the permissions on
    $INFORMIXDIR/tmp causing the server not to start.  This problem
    has existed for a while, at least from Informix 12.10 and maybe
    versions prior.  I've generally just fixed it and moved on but,
    it's bugged me for the last time so I though I would report it.

    Here's my install process:

    First, as root, install informix server using ./ids_install.
    I install into a new empty directory.
    Verify server starts OK then shut it down.
    Next, as user 'informix' install CSDK using ./installclientsdk.
    All is good to this point.

    Now the problem:  when trying to start informix it says:
    informix$ oninit -v
    directory /opt/ibm/informix/ids14.10.FC10DE/tmp is too secure
    (has mode 750, needs 770)


    FIX:

    informix$ cd $INFORMIXDIR
    informix$ ls -ld tmp
    drwxr-x--- 2 informix informix 4096 Mar 18 05:26 tmp

    informix$ chmod 0770 tmp
    informix$ ls -ld tmp
    drwxrwx--- 2 informix informix 4096 Mar 18 05:26 tmp
                                                                             
    Now informix will start.


    Can someone please forward this to the developers or point me
    to where this should be reported?

    Thanks,
    scot



  • 2.  RE: Bad permissions on $INFORMIXDIR/tmp after installing CSDK

    IBM Champion
    Posted Mon March 20, 2023 07:20 AM

    Scot:

    Done. Reported to the IBM Product Manager.

    Art



    ------------------------------
    Art S. Kagel, President and Principal Consultant
    ASK Database Management Corp.
    www.askdbmgt.com
    ------------------------------



  • 3.  RE: Bad permissions on $INFORMIXDIR/tmp after installing CSDK

    Posted Mon March 20, 2023 05:34 PM

    Thanks Art!




  • 4.  RE: Bad permissions on $INFORMIXDIR/tmp after installing CSDK

    IBM Champion
    Posted Mon March 20, 2023 05:47 PM

    Scot:

    You are welcome. That's what the IIUG is here for. IBM is working on a fix for this, but Carlton has a point. If you installed the engine as root you probably should have installed the CSDK as root as well.

    Also, while the old "Rule of TEN" is no longer mandatory, it is still a good idea to install tools (4GL, ISQL, & CSDK) before installing the engine. Optional, but a good idea.

    Art



    ------------------------------
    Art S. Kagel, President and Principal Consultant
    ASK Database Management Corp.
    www.askdbmgt.com
    ------------------------------



  • 5.  RE: Bad permissions on $INFORMIXDIR/tmp after installing CSDK

    Posted Mon March 20, 2023 06:36 PM

    I always though the engine should be installed, then the CSDK.

    I guess I have been doing it wrong.  Live and learn.




  • 6.  RE: Bad permissions on $INFORMIXDIR/tmp after installing CSDK

    Posted Mon March 20, 2023 06:44 PM

    The CSDK was split off of the engine with V.14. There is a separate download for each along with separate installations.

    In the dark ages, it did matter which order you installed Informix products. There were two prevailing approaches TEN and NET which stood for tools (4GL/ISQL), engine then network connectivity (CSDK)   OR  network, engine then tools. In v.14 and possibly earlier, development fixed teh conflicting library dependencies so now it doesn't matter which is installed first or last. 

    My personal installation choice is ENT (assuming you use tools) since the engine install creates the most subdirectories and the permissions are set properly (see my other response) but you can choose your own process.



    ------------------------------
    Carlton Doe
    ------------------------------



  • 7.  RE: Bad permissions on $INFORMIXDIR/tmp after installing CSDK

    Posted Mon March 20, 2023 10:34 AM
    Edited by Carlton Doe Mon March 20, 2023 10:35 AM

    Is there a reason you're not installing the CSDK as root? The problem stems for the fact that when the engine is installed as root, directories are created and permissions assigned designed for multi-user access. When the CSDK is installed using a different ID, this is referred to as a Private Install and is intended for use only by that UID. The same holds true for the engine, you can install the engine so only one UID has access to it.

    With a follow-on non-root/Private Install, an attempt is made to change the directory permissions without full O/S (aka "privileged") permissions which conflicts with the earlier install resulting in the run-time failure.  If the engine and CSDK are installed as root, there isn't an issue.

    What may have happened is that FC10 caught that security hole in the installer and fixed it. There are several security updates in the release.



    ------------------------------
    Carlton Doe
    ------------------------------



  • 8.  RE: Bad permissions on $INFORMIXDIR/tmp after installing CSDK

    Posted Mon March 20, 2023 06:13 PM

    Thanks for the reply Carlton.

    I can't remember when CSDK was split off as a separate install but the
    12.10 docs [1] stated:

    "The standard way to install client products is as the superuser informix
    with administrative privileges."

    FWIW, the 14.10 docs [2] state the same thing.

    I guess I interpreted that as:  install IDS/engine as root, and the CSDK 
    as the 'informix' user.  That is how I have been performing installs ever
    since.  Other than the permissions issue on $INFORMIXDIR/tmp, everything
    else seems to be working fine.  When installing the CSDK, I am installing
    it in $INFORMIXDIR, the same place the IDS/engine is installed.

    I'm not a heavy user of Informix or the CSDK, but generally upgrade my
    developer copy as new releases come out to have as a reference system.

    I guess I should be installing both as the root user then?

    scot

    [1] https://www.ibm.com/docs/en/informix-servers/12.10?topic=sdk-installation-owner
    [2] https://www.ibm.com/docs/en/informix-servers/14.10?topic=sdk-installation-owner




  • 9.  RE: Bad permissions on $INFORMIXDIR/tmp after installing CSDK

    Posted Mon March 20, 2023 06:35 PM
    Edited by Carlton Doe Mon March 20, 2023 06:35 PM

    Well you've asked a question for which I can give my favorite answer . . . . . .  . "it depends."   :)

    If this is installed on a "personal" machine that is not intended for multi-user use, you can install with your UID, usually into a directory of your choosing then you are the only person who can access and use the installation. This applies to engine and CSDK. I'm going to try and attach a screen shot for this.

    If you intend to have multi-user use, then both products need to be installed as root.

    capture of the non-root install screen.



    ------------------------------
    Carlton Doe
    ------------------------------



  • 10.  RE: Bad permissions on $INFORMIXDIR/tmp after installing CSDK

    Posted Tue March 21, 2023 01:47 AM

    Thanks for all your replies Carlton. 

    This really clears things up.  I wasn't aware some features were not
    available if the install was not performed as root.  Also the tips on
    TEN and NET/ENT were useful and enlightening.

    scot