summaryrefslogtreecommitdiff
path: root/man/man3
diff options
context:
space:
mode:
authorChristian Perrier <bubulle@debian.org>2013-07-27 18:42:08 +0200
committerChristian Perrier <bubulle@debian.org>2013-07-27 18:42:08 +0200
commitdb1dc7288b64873f4f39e8404fd99c1bf55c7a8b (patch)
tree10026e84c8b73d4e5ad6704ab1cb78ea7c63c305 /man/man3
parent6d11fd0a58e3bc52763f121421b1c0ffe09d48be (diff)
downloadshadow-db1dc7288b64873f4f39e8404fd99c1bf55c7a8b.tar.gz
Imported Upstream version 4.1.5.1upstream/4.1.5.1
Diffstat (limited to 'man/man3')
-rw-r--r--man/man3/getspnam.31
-rw-r--r--man/man3/shadow.3259
2 files changed, 260 insertions, 0 deletions
diff --git a/man/man3/getspnam.3 b/man/man3/getspnam.3
new file mode 100644
index 00000000..cd473da3
--- /dev/null
+++ b/man/man3/getspnam.3
@@ -0,0 +1 @@
+.so man3/shadow.3
diff --git a/man/man3/shadow.3 b/man/man3/shadow.3
new file mode 100644
index 00000000..e4f85a6c
--- /dev/null
+++ b/man/man3/shadow.3
@@ -0,0 +1,259 @@
+'\" t
+.\" Title: shadow
+.\" Author: Julianne Frances Haugh
+.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
+.\" Date: 05/25/2012
+.\" Manual: Library Calls
+.\" Source: shadow-utils 4.1.5.1
+.\" Language: English
+.\"
+.TH "SHADOW" "3" "05/25/2012" "shadow\-utils 4\&.1\&.5\&.1" "Library Calls"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+shadow, getspnam \- encrypted password file routines
+.SH "SYNTAX"
+.PP
+
+\fI#include <shadow\&.h>\fR
+.PP
+
+\fIstruct spwd *getspent();\fR
+.PP
+
+\fIstruct spwd *getspnam(char\fR
+\fI*name\fR\fI);\fR
+.PP
+
+\fIvoid setspent();\fR
+.PP
+
+\fIvoid endspent();\fR
+.PP
+
+\fIstruct spwd *fgetspent(FILE\fR
+\fI*fp\fR\fI);\fR
+.PP
+
+\fIstruct spwd *sgetspent(char\fR
+\fI*cp\fR\fI);\fR
+.PP
+
+\fIint putspent(struct spwd\fR
+\fI*p,\fR
+\fIFILE\fR
+\fI*fp\fR\fI);\fR
+.PP
+
+\fIint lckpwdf();\fR
+.PP
+
+\fIint ulckpwdf();\fR
+.SH "DESCRIPTION"
+.PP
+
+\fIshadow\fR
+manipulates the contents of the shadow password file,
+/etc/shadow\&. The structure in the
+\fI#include\fR
+file is:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+struct spwd {
+ char *sp_namp; /* user login name */
+ char *sp_pwdp; /* encrypted password */
+ long int sp_lstchg; /* last password change */
+ long int sp_min; /* days until change allowed\&. */
+ long int sp_max; /* days before change required */
+ long int sp_warn; /* days warning for expiration */
+ long int sp_inact; /* days before account inactive */
+ long int sp_expire; /* date when account expires */
+ unsigned long int sp_flag; /* reserved for future use */
+}
+
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+The meanings of each field are:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+sp_namp \- pointer to null\-terminated user name
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+sp_pwdp \- pointer to null\-terminated password
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+sp_lstchg \- days since Jan 1, 1970 password was last changed
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+sp_min \- days before which password may not be changed
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+sp_max \- days after which password must be changed
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+sp_warn \- days before password is to expire that user is warned of pending password expiration
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+sp_inact \- days after password expires that account is considered inactive and disabled
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+sp_expire \- days since Jan 1, 1970 when account will be disabled
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+sp_flag \- reserved for future use
+.RE
+.SH "DESCRIPTION"
+.PP
+
+\fIgetspent\fR,
+\fIgetspname\fR,
+\fIfgetspent\fR, and
+\fIsgetspent\fR
+each return a pointer to a
+\fIstruct spwd\fR\&.
+\fIgetspent\fR
+returns the next entry from the file, and
+\fIfgetspent\fR
+returns the next entry from the given stream, which is assumed to be a file of the proper format\&.
+\fIsgetspent\fR
+returns a pointer to a
+\fIstruct spwd\fR
+using the provided string as input\&.
+\fIgetspnam\fR
+searches from the current position in the file for an entry matching
+\fIname\fR\&.
+.PP
+
+\fIsetspent\fR
+and
+\fIendspent\fR
+may be used to begin and end, respectively, access to the shadow password file\&.
+.PP
+The
+\fIlckpwdf\fR
+and
+\fIulckpwdf\fR
+routines should be used to insure exclusive access to the
+/etc/shadow
+file\&.
+\fIlckpwdf\fR
+attempts to acquire a lock using
+\fIpw_lock\fR
+for up to 15 seconds\&. It continues by attempting to acquire a second lock using
+\fIspw_lock\fR
+for the remainder of the initial 15 seconds\&. Should either attempt fail after a total of 15 seconds,
+\fIlckpwdf\fR
+returns \-1\&. When both locks are acquired 0 is returned\&.
+.SH "DIAGNOSTICS"
+.PP
+Routines return NULL if no more entries are available or if an error occurs during processing\&. Routines which have
+\fIint\fR
+as the return value return 0 for success and \-1 for failure\&.
+.SH "CAVEATS"
+.PP
+These routines may only be used by the superuser as access to the shadow password file is restricted\&.
+.SH "FILES"
+.PP
+/etc/shadow
+.RS 4
+Secure user account information\&.
+.RE
+.SH "SEE ALSO"
+.PP
+
+\fBgetpwent\fR(3),
+\fBshadow\fR(5)\&.