Sponsored Content
Full Discussion: exit(0) versus exit(1)
Top Forums Programming exit(0) versus exit(1) Post 302122989 by jim mcnamara on Friday 22nd of June 2007 10:56:28 AM
Old 06-22-2007
Look in your /usr/include directory (or wherever your standard C headers are)
and find sysexits.h It is part of a lot of distributions.

Read the header file - it gives some proposed standards for exit values that are meaningful and consistent. You will find that a lot of programs return values like 64. It comes from sysexists.h

No sysexits.h file:
http://www.freebsd.org/cgi/man.cgi?q...SE&format=html
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Where can I find a list of exit codes? (Exit code 64)

I'm receiving an exit code 64 in our batch scheduler (BMC product control-m) executing a PERL script on UX-HP. Can you tell me where I can find a list of exit codes and their meaning. I'm assuming the exit code is from the Unix operating system not PERL. (3 Replies)
Discussion started by: jkuchar747
3 Replies

2. Shell Programming and Scripting

exit

Hi all, I am confused about When and where to use exit 0 and exit 1 ... Thanks (2 Replies)
Discussion started by: dhananjaysk
2 Replies

3. Shell Programming and Scripting

exit from script

I have a shell script with options, one of which should exit the system (logout), however when I select this option it drops down to shell, is there a command other than exit that will close the session completely ? (1 Reply)
Discussion started by: gefa
1 Replies

4. Shell Programming and Scripting

exit 2

Hi even though I use exit in my first scripts, I am not sure exactly about exit codes.I know there is a relation between return and exit codes, exit 0 means it returned a 0 to indicate there is no error at the end of this point. But what does it mean: exit 1 , probably there was an error, OK... (2 Replies)
Discussion started by: xramm
2 Replies

5. UNIX for Dummies Questions & Answers

what is meaning of exit(0) and exit(1)

can u tell me what is the meaning of exit(0),exit(1),exit(2) what is diff amonng these. Amit (1 Reply)
Discussion started by: amitpansuria
1 Replies

6. Shell Programming and Scripting

Script exit

HI, I written a shell script to stop my peoplesoft applications.Peoplesoft provides a psadmin utility to stop the application. I used the force shutdown option with it psadmin -c shutdown! -d pskri. When my application process hungs in the background the script is not able to continue and... (3 Replies)
Discussion started by: Krrishv
3 Replies

7. Shell Programming and Scripting

RE: exit value

I am running HP-UX & ksh I have several validation programs that scan log files for error messages. One of these files scan 3 diff files, thus I have the exit value in a variable and depending on which log-file I am scanning the value changes. I am not getting the value I expect but a... (1 Reply)
Discussion started by: vslewis
1 Replies

8. UNIX for Dummies Questions & Answers

What does it mean and how do I do it: exit 0 fi ??

I use a Mac and need to 'echo' a code in >> /etc/hosts Where is: /etc/hosts? And how do I do : exit 0 Does : 'fi' mean something too? :confused:Thanks for any help, Jacqrav:confused: (1 Reply)
Discussion started by: jacqrav
1 Replies

9. Shell Programming and Scripting

If else then exit

Hi, if then mailx -s " MESSAGE " abc@xyz.com < $file else exit fi Could you let me know if the pattern is not found will the script exit. (8 Replies)
Discussion started by: bprabhukumar
8 Replies

10. Shell Programming and Scripting

Need the difference between exit 1 & exit 7

Hi In one of the script I am seeing some thing like exit 7,exit 1,exit 2,exit 3,exit 9,exit6.What is the difference between all of this exit.Can anyone help here please (3 Replies)
Discussion started by: ginrkf
3 Replies
PAMD(8) 						     DACS Web Services Manual							   PAMD(8)

NAME
pamd - PAM transaction server SYNOPSIS
pamd [dacsoptions[1]] [-daemon] [-fork] [-h hostname] [-http] [-inetd] [-nofork] [-p portnum] [-policy name] [-secure] [-unsecure] DESCRIPTION
This program is part of the DACS suite. The pamd server is required by the local_pam_authenticate[2] authentication module. It acts as a proxy for local_pam_authenticate, calling PAM functions on its behalf. The pamd server may be started from inetd(8)[3] or from the command line, but it must be running for DACS to perform PAM-based authentication. Each pamd process is involved in an arbitrarily long "conversation" or "transaction" with one or more executions of local_pam_authenticate. For instance, pamd's initial response to local_pam_authenticate might be that it requires an account name; upon receiving the account name from local_pam_authenticate, pamd's response might be that it requires the password for the account; and upon receiving the password, pamd would indicate success or failure, depending on whether an acceptable username/password pair was received. The eventual outcome of a transaction is that authentication succeeds, fails, or could not be completed because an error occurs. pamd must be run on the host where pam(3)[4] processing is being performed, which is not necessarily the same host where local_pam_authenticate is executed. Security o pamd will usually be run as root so that it can access the files it needs to perform authentication. o pamd is not a DACS web service and is not protected by DACS. o The protocol between pamd and its client may include sensitive material, such as passwords. If both programs are run on the same host, this is probably not an issue. If there is any possibility of eavesdropping etc. by an attacker, however, communication should be secured through an SSL wrapper. o pamd should probably not be run on a world-accessible server, since it would offer a way for attackers to try to guess passwords. The operating system's PAM policy file is consulted - see pam.conf(5)[5]. The default PAM service name is "dacs" (see pam_start(3)[6]), which may be used by PAM to locate the appropriate policy file. A different policy name can be specified using the -policy flag. The prompts that passed from PAM to pamd to local_pam_authenticate to dacs_authenticate (or dacsauth) are simply displayed to the user. The user must understand what the prompts mean (e.g., that "Login:" means to provide a Unix account name). pamd can be used by non-DACS applications. The protocol, though simple, is not yet documented other than within the source code. A program called pamd-client is available for testing and debugging pamd; it is built when PAM support is required, but is neither installed nor documented (see the source code for basic instructions). OPTIONS
In addition to the standard dacsoptions[1], pamd recognizes these command line flags: -daemon Wait for a connection, then service the request. Mutually exclusive with -inetd. -fork Create a new process to service each request. It implies the -daemon flag. -h hostname If pamd is running on a host with multiple IP addresses, this specifies the hostname (or IP address) to listen to for incoming requests. If not provided, the PAMD_HOST[7] directive will be consulted; if unavailable, gethostname(3)[8] will be used. -http This flag is reserved for future use. -inetd The server assumes it has been started by inetd(8)[3] and therefore does not wait for a connection. It exits after servicing the request. This is the default behaviour and preferred way to configure pamd. This mode of operation assumes that an entry has been added to inetd.conf(5)[9] that looks much like this: dacs-pamd stream tcp nowait root /usr/local/dacs/sbin/pamd pamd -uj EXAMPLE -inetd -nofork This flag, which implies the -daemon, causes the pamd server to exit after servicing one request (which is useful when debugging). This is the default behaviour of -daemon mode. -p portnum This specifies the port number to listen to, overriding any PAMD_PORT[10] directive in effect. It can also be a service name. Any otherwise unassigned port number on the system from 49152 through 65535 (i.e., one in the dynamic and/or private range) ought to be acceptable. If neither this flag nor a PAMD_PORT directive is provided, the program will try to find the port associated with the dacs-pamd service name in services(5)[11]. For example: dacs-pamd 17000/tcp # DACS pamd -policy name Use name as the PAM policy name instead of the default. -secure The client must supply valid DACS administrative credentials encapsulated within a DACS cookie. This is the default. -unsecure Administrative credentials are not required, but if they are provided they must be valid. This should probably be used only when testing or if client identification is not an issue or has been addressed in some other way. Note When the -secure flag is in effect, pamd must be associated with a jurisdiction. Therefore, the DACS configuration files are read and the jurisdiction must be specified on the command line (e.g., using the -uj flag). EXAMPLE
For testing purposes, or to better understand how pamd works, you can run it manually and interact with it using telnet(1)[12], for example, which takes the place of local_pam_authenticate. You must have PAM authentication configured on the host where you run pamd and you will probably need to run it as root. This is best done using two windows; start pamd in the first window and then telnet to it from the second window. An interaction to perform username/password authentication will look something like the following (substitute your jurisdiction's name for myjur, your jurisdiction's domain name or IP address for myjur.example.com, and use a username and password pair that is recognized on your system). The first telnet connection receives a prompt for a username (labeled "Login:" and assigned the variable name AUTH_PROMPT_VAR1) from pamd, a transaction identifier (TRANSID) "10.0.0.124:56372:66664:53983facb39881b2" for this session, and port number to use for subsequent operations belonging to this transaction (62475). The second telnet connection provides the TRANSID and username (AUTH_PROMPT_VAR1="auggie"), and receives a prompt for a password ("Password:", assigned the variable name AUTH_PROMPT_VAR2). The third telnet connection provides the TRANSID and the password (AUTH_PROMPT_VAR2="doggy"), and receives the result of authentication ("Success"). # ./pamd -uj myjur -ll debug -daemon -unsecure -nofork pamd[info]: Site config file is "/usr/local/dacs/federations/site.conf" pamd[info]: Config file is "/usr/local/dacs/federations/dacs.conf" pamd[info]: This is jurisdiction DSS::myjur pamd[info]: Secure mode is off pamd[debug]: Waiting for initial input block... pamd[debug]: No username pamd[debug]: Calling pam_authenticate pamd[debug]: pamd_conv: reply to port 62475 pamd[debug]: TRANSID is "10.0.0.124:56372:66664:53983facb39881b2" pamd[debug]: type="text" pamd[debug]: label="Login:" pamd[debug]: varname="AUTH_PROMPT_VAR1" pamd[debug]: pamd_conv: waiting 60 seconds for reply pamd[debug]: pamd_conv: received connection pamd[debug]: Reading reply... pamd[debug]: pamd_conv: reply to port 62475 pamd[debug]: TRANSID is "10.0.0.124:62475:66695:fc855a7d68e8b1eb" pamd[debug]: type="password" pamd[debug]: label="Password:" pamd[debug]: varname="AUTH_PROMPT_VAR2" pamd[debug]: pamd_conv: waiting 60 seconds for reply pamd[debug]: pamd_conv: received connection pamd[debug]: Reading reply... pamd[debug]: Success pamd[debug]: result="ok" pamd[debug]: username="auggie" % telnet myjur.example.com 17000 Trying 10.0.0.124... Connected to bsd6.dss.bc.ca. Escape character is '^]'. Connection closed by foreign host. % telnet myjur.example.com 62475 Trying 10.0.0.124... Connected to bsd6.dss.bc.ca. Escape character is '^]'. TRANSID="10.0.0.124:62475:66695:fc855a7d68e8b1eb" AUTH_PROMPT_VAR1="auggie" Connection closed by foreign host. % telnet myjur.example.com 62475 Trying 10.0.0.124... Connected to bsd6.dss.bc.ca. Escape character is '^]'. TRANSID="10.0.0.124:62475:66695:fc855a7d68e8b1eb" AUTH_PROMPT_VAR2="doggy" result="ok" username="auggie" Connection closed by foreign host. DIAGNOSTICS
The program exits 0 if everything was fine, 1 if an error occurred. BUGS
The -daemon flag should cause the process to detach and put itself in the background unless overridden by another flag; at present it must be started in the background "manually". The -http flag, which would allow a pamd session to be started with a web service request, is not implemented. SEE ALSO
dacs_authenticate(8)[13], dacsauth(1)[14], pam(3)[15], X/Open Single Sign-On Service (XSSO) preliminary specification[16] AUTHOR
Distributed Systems Software (www.dss.ca[17]) COPYING
Copyright2003-2012 Distributed Systems Software. See the LICENSE[18] file that accompanies the distribution for licensing information. NOTES
1. dacsoptions http://dacs.dss.ca/man/dacs.1.html#dacsoptions 2. local_pam_authenticate http://dacs.dss.ca/man/dacs_authenticate.8.html#local_pam_authenticate 3. inetd(8) http://www.freebsd.org/cgi/man.cgi?query=inetd&apropos=0&sektion=8&manpath=FreeBSD+9.0-RELEASE&format=html 4. pam(3) http://www.freebsd.org/cgi/man.cgi?query=pam&apropos=0&sektion=0&manpath=FreeBSD+9.0-RELEASE&format=html 5. pam.conf(5) http://www.freebsd.org/cgi/man.cgi?query=pam.conf&apropos=0&sektion=5&manpath=FreeBSD+9.0-RELEASE&format=html 6. pam_start(3) http://www.freebsd.org/cgi/man.cgi?query=pam_start&apropos=0&sektion=3&manpath=FreeBSD+9.0-RELEASE&format=html 7. PAMD_HOST http://dacs.dss.ca/man/dacs.conf.5.html#PAMD_HOST 8. gethostname(3) http://www.freebsd.org/cgi/man.cgi?query=gethostname&apropos=0&sektion=3&manpath=FreeBSD+9.0-RELEASE&format=html 9. inetd.conf(5) http://www.freebsd.org/cgi/man.cgi?query=inetd.conf&apropos=0&sektion=5&manpath=FreeBSD+9.0-RELEASE&format=html 10. PAMD_PORT http://dacs.dss.ca/man/dacs.conf.5.html#PAMD_PORT 11. services(5) http://www.freebsd.org/cgi/man.cgi?query=services&apropos=0&sektion=5&manpath=FreeBSD+9.0-RELEASE&format=html 12. telnet(1) http://www.freebsd.org/cgi/man.cgi?query=telnet&apropos=0&sektion=1&manpath=FreeBSD+9.0-RELEASE&format=html 13. dacs_authenticate(8) http://dacs.dss.ca/man/dacs_authenticate.8.html 14. dacsauth(1) http://dacs.dss.ca/man/dacsauth.1.html 15. pam(3) http://www.freebsd.org/cgi/man.cgi?query=pam&apropos=0&sektion=3&manpath=FreeBSD+9.0-RELEASE&format=html 16. X/Open Single Sign-On Service (XSSO) preliminary specification http://www.opengroup.org/pubs/catalog/p702.htm 17. www.dss.ca http://www.dss.ca 18. LICENSE http://dacs.dss.ca/man/../misc/LICENSE DACS 1.4.27b 10/22/2012 PAMD(8)
All times are GMT -4. The time now is 10:06 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy