First of all thanks to the community for interest and several proposed solutions.
The suggestion received from Hubert based on cmd 'logname' could be an easy way to solve my problem. For example in case I logged on with userid it32673 and I'm in 'su -' , the contents of '$USER' is different of item returned from 'logname' : lx1iard0:~ # echo $USER root lx1iard0:~ # logname it32673 Then : - at login the /etc/profile.d/profile_local.sh launch script_xxx - script_xxxx will compare data received from 'logname' with '$USER' and it can decide if to continue or terminate... In conclusion the problem was : The 'script_xxx' executed at login writes some info about Linux, zVM and HW based on /proc/sysinfo and zVM CP cmd. I discovered that someone created scripts that includes commands like : "su - root -c 'which sudo | grep .........' " In these cases executing 'su - ...' the 'profile.local' is executed and 'script_xxx' too, when launch 'which sudo' the 'grep' receive unpredictable messages not what you expect. It is not good.... :-(( .... because the execution 'script_xxx' must be transparent for all. Ciaoo..Thanks again. Cordiali saluti / Best regards Marco Bosisio IBM Italia S.p.A. Hubert Kleinmanns <hub...@kleinmanns.eu> Sent by: Linux on 390 Port <LINUX-390@VM.MARIST.EDU> 04/03/2009 09.00 Please respond to Linux on 390 Port <LINUX-390@VM.MARIST.EDU> To LINUX-390@VM.MARIST.EDU cc Subject Re: Which user env. variable tell me that it is in "s u - " mode ? Mario, I fear, I misunderstood your question (or you misunderstood my answer ;-) ) "echo $SHLVL" returns always "1" after a "su - ...", but another value after a "su ..." (without th dash). I thought, this was what you would like to see. There are several mechanism, to distinguish between the primary login shell and a "su ..." shell: 1. "ps -f" $ ps -f UID PID PPID C STIME TTY TIME CMD hubert 8163 8162 0 06:58 pts/2 00:00:00 -bash hubert 23237 8163 0 08:54 pts/2 00:00:00 ps -f $ su - root # ps -f UID PID PPID C STIME TTY TIME CMD root 23567 8163 0 08:56 pts/2 00:00:00 /bin/su - root 23569 23567 1 08:56 pts/2 00:00:00 -bash root 23602 23569 0 08:56 pts/2 00:00:00 ps -f 2. "logname" vs. "id" # logname hubert # id uid=0(root) gid=0(root) groups=0(root) Hope this helps. Regards Hubert > -----Ursprüngliche Nachricht----- > Von: "Marco Bosisio" <marco_bosi...@it.ibm.com> > Gesendet: 03.03.09 14:00:17 > An: LINUX-390@VM.MARIST.EDU > Betreff: Re: Which user env. variable tell me that it is in "s u - " mode ? > Hi Hubert, > your suggestion works fine running for nested scripts, I created 3 > script testa -> testb -> testc like this : > > lx1iard0:~ # cat testa > #!/bin/bash > echo "testa => SHLVL="$SHLVL > sh /root/testb > exit > > > lx1iard0:~ # echo $SHLVL > 1 > > lx1iard0:~ # sh testa > testa => SHLVL=2 > --testb => SHLVL=3 > ----testc => SHLVL=4 > > > But.... the variable $SHLVL is always 1 after a "su - " : > > it32...@lx1iard0:~> echo $SHLVL > 1 > it32...@lx1iard0:~> su - > Password: > lx1iard0:~ # echo $SHLVL > 1 > lx1iard0:~ # > > > I customized the profile.local and it launch a script_xxx at login. When > use 'su - ' I would like that the new user does not execute the > script_xxx again. > > > Cordiali saluti / Best regards > > Marco Bosisio IBM Italia S.p.A. > > > > > > > > Hubert Kleinmanns <hub...@kleinmanns.eu> > Sent by: Linux on 390 Port <LINUX-390@VM.MARIST.EDU> > 03/03/2009 11.32 > Please respond to > Linux on 390 Port <LINUX-390@VM.MARIST.EDU> > > > To > LINUX-390@VM.MARIST.EDU > cc > > Subject > Re: Which user env. variable tell me that it is in "s u - " mode ? > > > > > > > Hi Marco, > > try: > > echo $SHLVL > > The value is incremented for each new sub shell - so it will be "1" for > login shells (which you get with "su - ..." > > Regards > Hubert > > > > -----Ursprüngliche Nachricht----- > > Von: "Marco Bosisio" <marco_bosi...@it.ibm.com> > > Gesendet: 03.03.09 11:12:04 > > An: LINUX-390@VM.MARIST.EDU > > Betreff: Which user env. variable tell me that it is in "su - " mode > ? > > > > Hi, > > do you know wich user environment variable I have to test (executing > > a bash script) to know when I am in "su -" (switch user mode) ? > > > > > > Reading variables provided by "env" command then testing $TERM I > > am able to know if not a Linux terminal : > > .. > > ....... > > # We can only execute on a terminal SSH / Telnet , not executed if > > secondary console Linux/zVM > > if [[ "$TERM" != "xterm" ]] ; then exit > > fi > > ...... > > > > I would like to do the same when the script is executed in a user > > logged in "su - " mode... > > > > Thanks in advance. > > > > Cordiali saluti / Best regards > > > > Marco Bosisio IBM Italia S.p.A. > > > > ---------------------------------------------------------------------- > > For LINUX-390 subscribe / signoff / archive access instructions, > > send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or > visit > > http://www.marist.edu/htbin/wlvindex?LINUX-390 > > > > -- > Hubert Kleinmanns > Beratung / Schulung / Projektleitung > > Chairman der WG "WebSphere MQ and Business Integration" in der GSE, deutsche Region. > > Tel.: +49 (0) 60 78 / 7 12 21 > Fax: +49 (0) 60 78 / 7 12 25 > Mobil: +49 (0) 178 / 6 97 22 54 > Web: www.kleinmanns.eu > GSE: www.gsenet.de > > ---------------------------------------------------------------------- > For LINUX-390 subscribe / signoff / archive access instructions, > send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or > visit > http://www.marist.edu/htbin/wlvindex?LINUX-390 > > > > IBM Italia S.p.A. > Sede Legale: Circonvallazione Idroscalo - 20090 Segrate (MI) > Cap. Soc. euro 400.001.359 > C. F. e Reg. Imprese MI 01442240030 - Partita IVA 10914660153 > Società soggetta all?attività di direzione e coordinamento di > International Business Machines Corporation > > (Salvo che sia diversamente indicato sopra / Unless stated otherwise > above) > > ---------------------------------------------------------------------- > For LINUX-390 subscribe / signoff / archive access instructions, > send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit > http://www.marist.edu/htbin/wlvindex?LINUX-390 > -- Hubert Kleinmanns Beratung / Schulung / Projektleitung Chairman der WG "WebSphere MQ and Business Integration" in der GSE, deutsche Region. Tel.: +49 (0) 60 78 / 7 12 21 Fax: +49 (0) 60 78 / 7 12 25 Mobil: +49 (0) 178 / 6 97 22 54 Web: www.kleinmanns.eu GSE: www.gsenet.de ---------------------------------------------------------------------- For LINUX-390 subscribe / signoff / archive access instructions, send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 IBM Italia S.p.A. Sede Legale: Circonvallazione Idroscalo - 20090 Segrate (MI) Cap. Soc. euro 400.001.359 C. F. e Reg. Imprese MI 01442240030 - Partita IVA 10914660153 Società soggetta all?attività di direzione e coordinamento di International Business Machines Corporation (Salvo che sia diversamente indicato sopra / Unless stated otherwise above) ---------------------------------------------------------------------- For LINUX-390 subscribe / signoff / archive access instructions, send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390