1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" References consulted:
.\" Linux libc source code
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 19:17:53 1993 by Rik Faith (faith@cs.unc.edu)
.TH getusershell 3 2024-05-02 "Linux man-pages (unreleased)"
.SH NAME
getusershell, setusershell, endusershell \- get permitted user shells
.SH LIBRARY
Standard C library
.RI ( libc ", " \-lc )
.SH SYNOPSIS
.nf
.B #include <unistd.h>
.P
.B char *getusershell(void);
.B void setusershell(void);
.B void endusershell(void);
.fi
.P
.RS -4
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
.RE
.P
.BR getusershell (),
.BR setusershell (),
.BR endusershell ():
.nf
Since glibc 2.21:
.\" commit 266865c0e7b79d4196e2cc393693463f03c90bd8
_DEFAULT_SOURCE
In glibc 2.19 and 2.20:
_DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
Up to and including glibc 2.19:
_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
.fi
.SH DESCRIPTION
The
.BR getusershell ()
function returns the next line from the file
.IR /etc/shells ,
opening the file if necessary.
The line should contain
the pathname of a valid user shell.
If
.I /etc/shells
does not exist or
is unreadable,
.BR getusershell ()
behaves as if
.I /bin/sh
and
.I /bin/csh
were listed in the file.
.P
The
.BR setusershell ()
function rewinds
.IR /etc/shells .
.P
The
.BR endusershell ()
function closes
.IR /etc/shells .
.SH RETURN VALUE
The
.BR getusershell ()
function returns NULL on end-of-file.
.SH FILES
.I /etc/shells
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.TS
allbox;
lbx lb lb
l l l.
Interface Attribute Value
T{
.na
.nh
.BR getusershell (),
.BR setusershell (),
.BR endusershell ()
T} Thread safety MT-Unsafe
.TE
.SH STANDARDS
None.
.SH HISTORY
4.3BSD.
.SH SEE ALSO
.BR shells (5)
|