Gents,
Thanks for the detailed replies.
As Kristoff pointed out, the checkpoint to disc (as a non-ingres user)
does work, the checkpoint to tape does not,
so I don't believe it is related to the UNIX shell either,
although I do accept that there are known shell+suid problems with
suspiciously similar symptoms to my issue.
The tape checkpoint can't 'see' the database files because it is
running as lamp (i.e not ingres):
> ANS1087E Access to the specified file or directory is denied.
See the full errors below...
So IMO its not an Ingres problem at all, something about dsmc appears
to 'disable' the suid setting that it is bering called with.
Perhaps dsmc itself attempts to dynamically load some LIBs, which
would effect its SUID status...
how can I tell?
### Checkpoint to disk works ... (uses /bin/tar)
LAMP -=[ LIVE ]=- /lamp/dev:ckpdb stevem2
Wed Oct 22 10:41:07 2008 CPP: Preparing to checkpoint database:
stevem2
Wed Oct 22 10:41:07 2008 CPP: Preparing stall of database, active xact
cnt: 0
Wed Oct 22 10:41:07 2008 CPP: Finished stall of database
beginning checkpoint to disk /lamp/ingres/ckp/default/stevem2 of 1
locations
Wed Oct 22 10:41:09 2008 CPP: Start checkpoint of location:
ii_database to disk:
path = '/lamp/ingres/ckp/default/stevem2'
file = 'c0008001.ckp'
executing checkpoint to disk
ending checkpoint to disk /lamp/ingres/ckp/default/stevem2 of 1
locations
lamp -=[ LIVE ]=- /lamp/dev:
### Checkpoint to tape fails ... (uses dsmc)
LAMP -=[ LIVE ]=- /lamp/dev:ckpdb -mTAPE stevem2
Wed Oct 22 10:47:35 2008 CPP: Preparing to checkpoint database:
stevem2
Wed Oct 22 10:47:35 2008 CPP: Preparing stall of database, active xact
cnt: 0
Wed Oct 22 10:47:35 2008 CPP: Finished stall of database
beginning checkpoint to tape TAPE of 1 locations
Wed Oct 22 10:47:35 2008 CPP: Start checkpoint of location:
ii_database to tape:
device = 'TAPE'
file = 'c0009001.ckp'
Mounting tape 1 ...
DSMC backup: systemG_ingres DB=stevem2 Desc=BA_stevem2_c0009001.ckp
IBM Tivoli Storage Manager
Command Line Backup/Archive Client Interface
Client Version 5, Release 4, Level 1.0
Client date/time: 22-10-2008 10:47:37
(c) Copyright by IBM Corporation and other(s) 1990, 2007. All Rights
Reserved.
Archive function invoked.
Node Name: systemG_INGRES
Session established with server CARPRTXM01: AIX-RS/6000
Server Version 5, Release 5, Level 0.0
Server date/time: 22-10-2008 10:50:20 Last access: 21-10-2008
21:06:32
ANS1087E Access to the specified file or directory is denied
Wed Oct 22 10:47:40 2008 E_DM1101_CPP_WRITE_ERROR Error writing
checkpoint.
Wed Oct 22 10:47:40 2008 E_DM110B_CPP_FAILED Error occurred
checkpointing the database.
On Oct 20, 8:50 am, Kristoff <kristoff.pic....TakeThisOut@ingres.com> wrote:
> On Oct 14, 5:31 pm, OldSchool <scott.my....TakeThisOut@macys.com> wrote:
>
> > on AIX5.2, I log in, run it, and it returns:
> > l00s7m
> > l00s7m pts/4 Oct 14 11:29 (11.64.20.108)
> > (doesn't follow suid)
>
> That's true. On AIX, the setuid bit of a SHELL script has no effect
> (I didn't know this before).
> But the efuid is inherited, if the script is called by an executable
> running with suid.
> So for testing I would use a simple C-program, such as:
>
> int main()
> {
> system("your_dsmc_command");
> return 0;
>
> }
>
> Compile the program, make it suid ingres and call it as non-ingres.
> Lets see which error you get(if any)
>
> Regards
> Kristoff >> Stay informed about: Cktmpl.def, Ingres SUID permissions not inherited by tape ..