iucvtty(1)

πŸ“¦ version 2.44.1, in opensuse-leap 16.0

πŸ’… iucvtty β€” like, the whole manual, but make it make sense

okay so real talk: this is the manual page for iucvtty(1), one of the IUCV terminal applications (that's the whole section name up top, iykyk). it's giving "remote login but make it z/VM" and honestly? iconic. let's get into it πŸŽ€


✨ NAME ✨

iucvtty β€” bestie, this thing lets people log in remotely over z/VM IUCV πŸ¦‹


🌸 SYNOPSIS 🌸

iucvtty [-h|--help]
iucvtty [-v|--version]
iucvtty [-a|--allow-from regex] terminal_id [-- login_program
[login_options]]

like, that's the whole vibe right there. copy it exactly, don't @ me πŸ’…


πŸ’– DESCRIPTION πŸ’–

so the iucvtty application gives you full-screen terminal access to a Linux instance that's running as a z/VM guest operating system. and the way you actually get in? the iucvconn application β€” that's your bestie on the other end, connecting to a running iucvtty instance πŸ’«

the terminal connection is based on the z/VM Inter-User Communication Vehicle (IUCV). and z/VM IUCV establishes a communication path between two z/VM guest virtual machines on the same z/VM instance. the absolute slay here: because z/VM IUCV is independent from TCP/IP, Linux instances with no external network can still be accessed. no network? no problem, periodt πŸ”₯

terminal_id identifies the z/VM IUCV connection and it's basically the cousin of a port number in TCP/IP communications. it's case-sensitive and consists of up to 8 alphanumeric characters. it must be specified as a parameter in connection requests against an iucvtty instance β€” no terminal_id, no entry πŸšͺ

when a connection is established, iucvtty starts a login program. and when the login program ends, iucvtty also exits β€” they leave together, ride or die 😭 so consider an inittab(5) entry to make sure iucvtty gets restarted and is ready for the next terminal session. that's your respawn era 🧚


✨ OPTIONS ✨

  • -h, --help β€” displays a short help text and then exits. tiny helpful queen πŸŽ€
  • -v, --version β€” displays the version number of iucvtty, then exits. quick flex, then bye πŸ’…
  • -a, --allow-from regex β€” limits permissions for incoming connections to z/VM user IDs that match the regular expression regex. if the ID does not match, the connection is refused β€” gatekept, as she should be 🚫 if this parameter is omitted, connections are permitted from any z/VM user ID (so, open door policy, be aware πŸ‘€).
  • login_program β€” specifies the absolute path to the login program to be started when a connection is established. the default is /bin/login(1). and important: the login_program must be separated by two dashes (--) β€” do not forget the --, bestie, the parser is not gonna read your mind πŸ™ˆ
  • login_options β€” depending on the particular login program used, login_options specifies additional options. it's giving "the vibes depend on which program you brought" ✨

πŸ¦‹ EXAMPLES πŸ¦‹

to allow remote logins using the terminal identifier "lnxterm":

iucvtty lnxterm

to only allow users from LNXSYS01 to connect to terminal "lnxterm":

iucvtty -a LNXSYS01 lnxterm

to only allow users from LNXSYS10 through LNXSYS19 to connect to terminal "lnxterm":

iucvtty -a "LNXSYS1[0-9]" lnxterm

to use /sbin/sulogin instead of /bin/login for terminal "suterm":

iucvtty suterm -- /sbin/sulogin

an entry in /etc/inittab to facilitate user logins on terminal "lnxterm" with /bin/login could be:

t1:2345:respawn:/usr/bin/iucvtty lnxterm

an entry in /etc/inittab to facilitate user logins on terminal "suterm" with /sbin/sulogin in single user mode could be:

s1:S:respawn:/usr/bin/iucvtty suterm -- /sbin/sulogin

see how the -- shows up again? told you. main character energy for a couple of hyphens, honestly πŸ’€


🩺 DIAGNOSTICS 🩺

if the Linux kernel does not include kernel support for the AF_IUCV network addressing family, iucvtty exits and displays this message, and you're gonna want to read it exactly:

AF_IUCV address family is not available: Address family not supported by protocol

that's the "your kernel said no ❀️" arc. 😭


πŸ” SECURITY πŸ”

🐧 Linux

the iucvtty program can be used by regular users. but β€” and this is a big but β€” depending on the particular login program, iucvtty must be started with superuser privileges for user authentication and authorization. for instance, /bin/login requires superuser privileges and, thus, regular users must use a different login program. so know what you're launching, bestie πŸ‘‘

each connection attempt is logged to the authpriv syslog facility. every single one. the receipts are kept πŸ“

iucvtty uses pseudo-terminal (pts) devices to communicate with the login program. and for security reasons, some login programs β€” like /bin/login β€” do not permit root logins on pseudo-terminal devices (see also /etc/securetty(5)). so no, you can't just root your way through a pts, that's not the move πŸ™…

to permit root logins, consider using HVC terminal devices that are provided by the z/VM IUCV hypervisor console (HVC) device driver. that's the workaround, and yes, it's legendary ✨

πŸ–₯️ z/VM guest virtual machine

see the af_iucv(7) manual page for details about IUCV authorizations. go read it, it's the lore drop you need πŸ“š


πŸ‘€ SEE ALSO πŸ‘€

iucvconn(1), login(1), pts(4), regex(7), securetty(5), af_iucv(7), hvc_iucv(9)

the whole friend group, all linked, all iconic 🌈


okay that's the page!! 🫢 this came to you from s390-tools, dated March 2009 β€” yes, she's been around, she's a legacy icon, and she still slays. now go start that iucvtty and remember the -- πŸ’œβœ¨

πŸ“¦ where this page comes from