Update to Python-3.8.2.
[linux_from_scratch.git] / chapter07 / etcshells.xml
blob30961c80cd34877834e5fcbefc0bdea3e4c4bdb8
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE part PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3    "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4   <!ENTITY % general-entities SYSTEM "../general.ent">
5   %general-entities;
6 ]>
8 <sect1 id="ch-config-shells" xreflabel="Creating the /etc/shells File">
9   <?dbhtml filename="etcshells.html"?>
11 <!--
12   <sect1info>
13     <othername>$LastChangedBy$</othername>
14     <date>$Date$</date>
15   </sect1info>
16 -->
17   <title>Creating the /etc/shells File</title>
19   <indexterm zone="ch-config-shells">
20     <primary sortas="e-etc-shells">/etc/shells</primary>
21   </indexterm>
23   <para>The <filename>shells</filename> file contains a list of
24   login shells on the system. Applications use this file to determine
25   whether a shell is valid. For each shell a single line should be
26   present, consisting of the shell's path, relative to the root of the
27   directory structure (/).</para>
29   <para>For example, this file is consulted by <command>chsh</command>
30   to determine whether an unprivileged user may change the login shell for her
31   own account. If the command name is not listed, the user will be denied of
32   change.</para>
34   <para>It is a requirement for applications such as
35   <application>GDM</application> which does not populate the
36   face browser if it can't find <filename>/etc/shells</filename>, or
37   FTP daemons which traditionally disallow access to users
38   with shells not included in this file.</para>
40 <screen role="root"><userinput>cat &gt; /etc/shells &lt;&lt; "EOF"
41 <literal># Begin /etc/shells
43 /bin/sh
44 /bin/bash
46 # End /etc/shells</literal>
47 EOF</userinput></screen>
49 </sect1>