HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux newsites.squeezer-software.com 6.8.0-90-generic #91-Ubuntu SMP PREEMPT_DYNAMIC Tue Nov 18 14:14:30 UTC 2025 x86_64
User: www-data (33)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //usr/share/doc/debianutils/README.shells
/etc/shells micropolicy

The expected audience of this is debian developers packaging programs
meant to be used as login shells.

/etc/shells is no longer a config file, but is maintained by the
add-shell, remove-shell and update-shells programs.  So, if a
package contains something that the maintainer thinks ought to be a
valid login shell, it can have its shell included in two different way.

By placing a fragment in /usr/share/debianutils/shells.d/<binarypackage>,
it will invoke a file trigger on debian-utils and invoke update-shells,
which will add and remove the contained shells from /etc/shells as
needed.

Alternatively, it's postinst should, (on initial install only, to allow a
sysadmin to take it out again), run:

/usr/sbin/add-shell /path/to/shell

In the postrm, probably on remove, the package should call

/usr/sbin/remove-shell /path/to/shell

The latter method has the disadvantage of shells disappearing from /etc/shells
when the relevant package is removed but not purged and then reinstalled. The
fragment method does not suffer from this limitation.