mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
There are still a few scripts using the 'which' command to determine either the full path or the mere existence of an executable. Some of these scripts might run in minimal environments where 'which' is not available due to dependency restriction. 'which' is also considered unreliable for historical implementation details. Use the POSIX defined [1] built-in 'command -v' instead to reduce package dependencies and improve reliability. [1] https://pubs.opengroup.org/onlinepubs/9699919799/ Reviewed-by: Benjamin Block <bblock@linux.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com> Signed-off-by: Steffen Eiden <seiden@linux.ibm.com>
Terminal server setup
=====================
This README file provides additional information for configuring
a terminal server.
Installation overview
---------------------
The s390-tools package installs the ts-shell(1) program along with
a set of configuration files in `/etc/iucvterm`.
The ts-shell program is pre-configured to connect to any other z/VM
guest virtual machines (if the z/VM guest virtual machine has the
respective IUCV authorizations).
The administrator can change the ts-shell configuration to restrict
connections to particular z/VM guest virtual machines only.
There are no user authorizations by default. The administrator must
edit `/etc/iucvterm/ts-authorization.conf` to assign authorizations.
See the manual page for ts-shell(1) and the `authorization-sample.conf`
file in the documentation directory for configuration examples.
In addition, the documentation directory also contains the
iucvconn_on_login sample program that is an alternative to ts-shell.
Setup considerations for the terminal server shell (ts-shell)
-------------------------------------------------------------
Adding new ts-shell users
~~~~~~~~~~~~~~~~~~~~~~~~~
The ts-shell installation creates a system group ts-shell.
If you intend to use ts-shell as a login shell for users, ensure that
these users are all members of ts-shell. To add existing users to
group ts-shell, use +usermod -G ts-shell 'username'+.
The ts-shell configuration files and `/var/log/ts-shell` are
readable only by members of the *ts-shell* group.
Enabling terminal session transcripts
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ts-shell(1) can be configured to create transcripts of terminal sessions
to particular z/VM guest virtual machines. The transcripts are written
to log files in the `/var/log/ts-shell` directory.
NOTE: The `/var/log/ts-shell` directory permission has the
set-group-ID bit set. Sub-directories that are created by
different users will inherit the group ownership of the
`/var/log/ts-shell` directory.
See the ts-shell(1) manual page for more information about terminal
session transcripts.
Setting up command completion (optional)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*ts-shell* supports completion for commands and, if possible, for
z/VM guest virtual machines. The completion is triggered using the
'Tab' key. Command completion is an optional feature.
To enable command completion, install one of the following Perl
ReadLine libraries:
- Term::ReadLine::Gnu
- Term::ReadLine::Perl
Check your Linux distribution for packages that provide these Perl
ReadLine interfaces.
Setup a terminal server using the iucvconn_on_login program
-----------------------------------------------------------
*iucvconn_on_login* is a sample script that uses the iucvconn(1)
program to establish an IUCV terminal connection to a Linux
instance that runs as z/VM guest operating system.
It can be used as an alternative to set up a terminal server.
The idea of iucvconn_on_login is to establish a terminal connection
at login time.
The z/VM guest virtual machine to which iucvconn_on_login will
connect is the name of the Linux user that logs in.
For example, if you log in as Linux user "lxguest1", iucvconn_on_login
is started and establishes a terminal connection to the z/VM guest
virtual machine lxguest1.
Adding new users for z/VM guest virtual machines
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To set up a terminal server using the iucvconn_on_login program,
create a new Linux user for each z/VM guest virtual machine using
the z/VM user ID as name. Set the login shell of those users to
*iucvconn_on_login*.
NOTE: User names are case-sensitive in Linux. To ensure consistency,
always use either lower or upper case characters for your
user names.
To create a new user for z/VM guest virtual machine LXGUEST1
----
useradd -s /usr/bin/iucvconn_on_login lxguest1
----
If you log in as user 'lxguest1' on the terminal server (for example
using ssh(1)), *iucvconn_on_login* immediately establishes the terminal
connection to the z/VM virtual guest virtual machine 'lxguest1'.
To access the default terminal ('lnxhvc0') on the Linux instance in
z/VM guest virtual machine LXGUEST1
----
ssh lxguest1@terminal.server
----
To access the terminal 'lnxterm' on the Linux instance in
z/VM guest virtual machine LXGUEST1
----
ssh -t lxguest1@terminal.server lnxterm
----
For ssh(1), you must use the "-t" parameter if you want to specify an
alternate terminal identifier. The "-t" parameter ensures that ssh
starts iucvconn_on_login on a terminal.