doc: explain what "standard shell" means for ftpd

One part of ftpd user authentication is to check if the user has
a so called "standard shell".  But, it is no longer obvious what
that actually is.  The Linux man-pages project uses different
names to designate a "standard shell", i.e., "valid login shell"
when documenting /etc/shells, "permitted user shells" and "valid
user shell" when documenting getusershell(), making it harder to
figure this out.

Expand ftpd user authentication step 3 by adding information about
/etc/shells and getusershell(), and the different names used for
"standard shell".

* NEWS: Mention ftpd documentation improvement.
* doc/inetutils.texi (ftpd invocation): Explain "standard shell"
  as used in the ftpd authentication rules.
This commit is contained in:
Erik Auerswald
2025-11-08 08:43:33 +01:00
parent 08aba1b5a5
commit f216be6e75
2 changed files with 9 additions and 1 deletions

View File

@@ -4078,7 +4078,11 @@ provided by the client before any file operations can be performed.
The login name must not appear in the file @file{/etc/ftpusers}.
@item
The user must have a standard shell.
The user must have a standard shell. If the file @file{/etc/shells}
exists and is readable, only programs listed there are considered standard
shells. @command{ftpd} uses the C library function @code{getusershell}
to enumerate standard shells. Standard shells are also known as valid
login shells, valid user shells, or permitted user shells.
@item
If the user name is @samp{anonymous} or @samp{ftp}, an anonymous ftp