From 9aca11ac6a1508a2dc13c9223ea3ad1b55b1dbd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Fri, 18 Oct 2019 15:29:47 +0100 Subject: [PATCH] docs: convert virt-login-shell man page from pod to rst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This was a semi-automated conversion. First it was run through pod2rst, and then it was manually editted to use a rst structure that matches expectations of rst2man. Reviewed-by: Cole Robinson Signed-off-by: Daniel P. Berrangé --- docs/Makefile.am | 5 + docs/manpages/index.rst | 1 + docs/manpages/virt-login-shell.rst | 144 +++++++++++++++++++++++++++++ tools/Makefile.am | 3 - tools/virt-login-shell.pod | 112 ---------------------- 5 files changed, 150 insertions(+), 115 deletions(-) create mode 100644 docs/manpages/virt-login-shell.rst delete mode 100644 tools/virt-login-shell.pod diff --git a/docs/Makefile.am b/docs/Makefile.am index b7bf7151fc..2a38e883d5 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -232,6 +232,11 @@ if WITH_HOST_VALIDATE else ! WITH_HOST_VALIDATE manpages_rst += manpages/virt-host-validate.rst endif ! WITH_HOST_VALIDATE +if WITH_LOGIN_SHELL + manpages1_rst += manpages/virt-login-shell.rst +else ! WITH_LOGIN_SHELL + manpages_rst += manpages/virt-login-shell.rst +endif ! WITH_LOGIN_SHELL manpages_rst_html_in = \ $(manpages_rst:%.rst=%.html.in) manpages_html = \ diff --git a/docs/manpages/index.rst b/docs/manpages/index.rst index 85a9100ce8..891bf17faf 100644 --- a/docs/manpages/index.rst +++ b/docs/manpages/index.rst @@ -16,3 +16,4 @@ Tools * `virt-pki-validate(1) `__ - validate libvirt PKI files are configured correctly * `virt-xml-validate(1) `__ - validate libvirt XML files against a schema * `virt-sanlock-cleanup(8) `__ - remove stale sanlock resource lease files +* `virt-login-shell(1) `__ - tool to execute a shell within a container diff --git a/docs/manpages/virt-login-shell.rst b/docs/manpages/virt-login-shell.rst new file mode 100644 index 0000000000..4716493f87 --- /dev/null +++ b/docs/manpages/virt-login-shell.rst @@ -0,0 +1,144 @@ +================ +virt-login-shell +================ + +------------------------------------------ +tool to execute a shell within a container +------------------------------------------ + +:Manual section: 1 +:Manual group: Virtualization Support + +.. contents:: + +SYNOPSIS +======== + +``virt-login-shell`` [*OPTION*] + + +DESCRIPTION +=========== + +The ``virt-login-shell`` program is a setuid shell that is used to join +an LXC container that matches the user's name. If the container is not +running, ``virt-login-shell`` will attempt to start the container. +``virt-login-shell`` is not allowed to be run by root. Normal users will get +added to a container that matches their username, if it exists, and they are +configured in ``/etc/libvirt/virt-login-shell.conf``. + +The basic structure of most ``virt-login-shell`` usage is: + +.. code-block:: shell + + virt-login-shell + + +OPTIONS +======= + +``-c CMD`` + +Instruct the shell to run CMD instead of presenting an +interactive shell prompt. + +``-h``, ``--help`` + +Display command line help usage then exit. + +``-V``, ``--version`` + +Display version information then exit. + + +CONFIG +====== + +By default, ``virt-login-shell`` will execute the ``/bin/sh`` program for +the user. You can modify this behaviour by defining the shell variable in +``/etc/libvirt/virt-login-shell.conf``. e.g. + +.. code-block:: + + shell = [ "/bin/bash" ] + + +If the ``auto_shell`` config option is set then it will attempt to automatically +detect the shell from ``/etc/password`` inside the container. This should only +be done if the container has a separate ``/etc`` directory from the host, +otherwise it will end up recursively invoking ``virt-login-shell``. e.g. + +.. code-block:: + + auto_shell = 1 + + +By default no users are allowed to use virt-login-shell, if you want to allow +certain users to use virt-login-shell, you need to modify the allowed_users +variable in /etc/libvirt/virt-login-shell.conf. e.g. + +.. code-block:: + + allowed_users = [ "tom", "dick", "harry" ] + + +EXIT STATUS +=========== + +``virt-login-shell`` normally returns the exit status of the command it +executed. If the command was killed by a signal, but that signal is not +fatal to virt-login-shell, then it returns the signal number plus 128. + +Exit status generated by ``virt-login-shell`` itself: + +* ``0`` An option was used to learn more about this binary. + +* ``125`` Generic error before attempting execution of the configured shell; for example, if libvirtd is not running. + +* ``126`` The configured shell exists but could not be executed. + +* ``127`` The configured shell could not be found. + + +BUGS +==== + +Please report all bugs you discover. This should be done via either: + +#. the mailing list + + `https://libvirt.org/contact.html `_ + +#. the bug tracker + + `https://libvirt.org/bugs.html `_ + +Alternatively, you may report bugs to your software distributor / vendor. + + +AUTHOR +====== + +Daniel Walsh + + +COPYRIGHT +========= + +Copyright (C) 2013-2014 Red Hat, Inc., and the authors listed in the +libvirt AUTHORS file. + + +LICENSE +======= + +``virt-login-shell`` is distributed under the terms of the GNU LGPL v2+. +This is free software; see the source for copying conditions. There +is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR +PURPOSE + + +SEE ALSO +======== + +virsh(1), `https://libvirt.org/ `_ diff --git a/tools/Makefile.am b/tools/Makefile.am index f9c344ec83..8f0098c73d 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -54,13 +54,11 @@ ICON_FILES = \ PODFILES = \ virt-admin.pod \ - virt-login-shell.pod \ virsh.pod \ $(NULL) MANINFILES = \ virt-admin.1.in \ - virt-login-shell.1.in \ virsh.1.in \ $(NULL) @@ -102,7 +100,6 @@ if WITH_LOGIN_SHELL conf_DATA += virt-login-shell.conf bin_PROGRAMS += virt-login-shell libexec_PROGRAMS = virt-login-shell-helper -man1_MANS += virt-login-shell.1 endif WITH_LOGIN_SHELL if WITH_HOST_VALIDATE diff --git a/tools/virt-login-shell.pod b/tools/virt-login-shell.pod deleted file mode 100644 index 1aaa1cfc7c..0000000000 --- a/tools/virt-login-shell.pod +++ /dev/null @@ -1,112 +0,0 @@ -=head1 NAME - -virt-login-shell - tool to execute a shell within a container matching the users name - -=head1 SYNOPSIS - -B [I