blob: cbd1d1ac85931594ea6652654f4f1dc0a335d519 (
plain)
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
99
|
'\" 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 2023-07-20 "Linux man-pages 6.05.01"
.SH NAME
getusershell, setusershell, endusershell \- get permitted user shells
.SH LIBRARY
Standard C library
.RI ( libc ", " \-lc )
.SH SYNOPSIS
.nf
.B #include <unistd.h>
.PP
.B char *getusershell(void);
.B void setusershell(void);
.B void endusershell(void);
.fi
.PP
.RS -4
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
.RE
.PP
.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.
.PP
The
.BR setusershell ()
function rewinds
.IR /etc/shells .
.PP
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
.sp 1
.SH STANDARDS
None.
.SH HISTORY
4.3BSD.
.SH SEE ALSO
.BR shells (5)
|