Lệnh getty trong Linux

Giới thiệu

Trong lab này, chúng ta sẽ khám phá lệnh getty của Linux, một tiện ích quan trọng để quản lý các terminal ảo và cho phép người dùng đăng nhập vào hệ thống. Chúng ta sẽ bắt đầu bằng cách hiểu mục đích của lệnh getty, chịu trách nhiệm khởi tạo và cấu hình các terminal ảo, nhắc người dùng nhập thông tin đăng nhập và khởi chạy quá trình đăng nhập sau khi xác thực thành công. Sau đó, chúng ta sẽ khám phá các tùy chọn khác nhau có sẵn cho lệnh getty và tìm hiểu cách cấu hình và quản lý các terminal ảo bằng công cụ này.

Hiểu Mục Đích của Lệnh getty

Trong bước này, chúng ta sẽ khám phá mục đích của lệnh getty trong Linux. Lệnh getty là một tiện ích quan trọng để quản lý các terminal ảo, cho phép người dùng đăng nhập vào hệ thống.

Lệnh getty chịu trách nhiệm cho:

  • Khởi tạo và cấu hình các terminal ảo
  • Nhắc người dùng nhập thông tin đăng nhập
  • Khởi chạy quá trình đăng nhập sau khi xác thực thành công

Hãy bắt đầu bằng cách hiểu cách sử dụng cơ bản của lệnh getty:

sudo getty --help

Ví dụ về đầu ra:

Usage: getty [options] <line>
  -L, --local-line          Use local line discipline
  -m, --issue-motd          Print /etc/issue before login
  -n, --skip-login          Don't prompt for login
  -t, --timeout TIMEOUT     Terminate if no login in TIMEOUT seconds
  -I, --init-string INIT    Set init string
  -w, --wait-cr             Wait for carriage return before sending init
  -i, --flow-control        Use input flow control
  -8, --8bits               Pass 8-bit input to program
  -2, --2-stop              Use 2 stop bits
  --noclear                 Do not clear the screen
  --nohints                 Do not print login hints
  --nohostname              Do not print hostname
  --noreset                 Do not reset control mode
  --nohints-reset           Do not reset control mode for hints
  --nohints-timeout         Do not reset control mode for hints timeout
  --nonewline               Do not send a newline
  --noissue                 Do not print /etc/issue
  --nohost                  Do not print hostname
  --notruncate              Do not truncate username
  --noflow-control          Do not use input flow control
  --nohostname-check        Do not check for valid hostname
  --noparity                Disable parity checking
  --nohostname-check-dns    Do not check hostname against DNS
  --nologin-timeout         Disable login timeout
  --nologin-timeout-signal  Disable login timeout signal
  --nologin-timeout-action  Disable login timeout action
  --nologin-timeout-message Disable login timeout message
  --nologin-timeout-warning Disable login timeout warning
  --nologin-timeout-warning-message Disable login timeout warning message
  --help                    Display this help and exit
  --version                 Output version information and exit

Lệnh getty thường được sử dụng trong quá trình khởi tạo hệ thống để thiết lập và quản lý các terminal ảo. Nó chịu trách nhiệm nhắc người dùng nhập thông tin đăng nhập và khởi chạy quá trình đăng nhập.

Trong bước tiếp theo, chúng ta sẽ khám phá các tùy chọn khác nhau có sẵn với lệnh getty và tìm hiểu cách cấu hình và quản lý các terminal ảo bằng nó.

Khám Phá Các Tùy Chọn Lệnh getty Khác Nhau

Trong bước này, chúng ta sẽ khám phá các tùy chọn khác nhau có sẵn với lệnh getty và tìm hiểu cách cấu hình và quản lý các terminal ảo bằng nó.

Hãy bắt đầu bằng cách xem xét một số tùy chọn lệnh getty thường được sử dụng:

sudo getty -m -n -t 60 tty1

Lệnh này sẽ:

  • -m: In thông báo /etc/issue trước khi có dấu nhắc đăng nhập
  • -n: Bỏ qua dấu nhắc đăng nhập và khởi chạy trực tiếp quá trình đăng nhập
  • -t 60: Đặt thời gian chờ đăng nhập là 60 giây

Ví dụ về đầu ra:

Linux ubuntu 5.15.0-1023-aws #25~20.04.1-Ubuntu SMP Fri Sep 30 12:36:29 UTC 2022 x86_64

ubuntu login:

Một tùy chọn hữu ích khác là --flow-control, cho phép điều khiển luồng đầu vào cho terminal:

sudo getty --flow-control tty2

Điều này sẽ khởi động một terminal ảo mới trên tty2 với điều khiển luồng đầu vào được bật.

Bạn cũng có thể đặt chuỗi ban đầu sẽ được gửi đến terminal bằng tùy chọn -I:

sudo getty -I "Welcome to the Lab!" tty3

Điều này sẽ khởi động một terminal ảo mới trên tty3 và hiển thị thông báo "Welcome to the Lab!" trước dấu nhắc đăng nhập.

Trong bước tiếp theo, chúng ta sẽ tìm hiểu cách cấu hình và quản lý các terminal ảo bằng lệnh getty.

Cấu Hình và Quản Lý Terminal Ảo bằng getty

Trong bước cuối cùng này, chúng ta sẽ tìm hiểu cách cấu hình và quản lý các terminal ảo bằng lệnh getty.

Đầu tiên, hãy tạo một terminal ảo mới:

sudo getty tty4

Điều này sẽ khởi động một terminal ảo mới trên tty4. Bạn có thể chuyển sang terminal này bằng cách nhấn Ctrl+Alt+F4.

Để cấu hình terminal ảo, chúng ta có thể sử dụng lệnh getty với nhiều tùy chọn khác nhau. Ví dụ: để đặt thời gian chờ đăng nhập thành 120 giây:

sudo getty -t 120 tty4

Bạn cũng có thể đặt chuỗi ban đầu sẽ được hiển thị trước dấu nhắc đăng nhập:

sudo getty -I "Welcome to the Virtual Terminal!" tty4

Để dừng một terminal ảo, bạn có thể sử dụng lệnh kill:

sudo kill $(ps -ef | grep getty | grep tty4 | awk '{print $2}')

Điều này sẽ dừng tiến trình getty đang chạy trên terminal ảo tty4.

Cuối cùng, hãy tạo một script để tự động khởi động và cấu hình nhiều terminal ảo:

#!/bin/bash

## Start virtual terminals
sudo getty tty4 &
sudo getty -t 60 tty5 &
sudo getty -I "Virtual Terminal 6" tty6 &

## Wait for the terminals to be ready
sleep 5

## Switch to the first virtual terminal
sudo chvt 4

Lưu script này dưới dạng start_terminals.sh trong thư mục ~/project của bạn và làm cho nó có thể thực thi:

chmod +x ~/project/start_terminals.sh

Bây giờ, bạn có thể chạy script để khởi động các terminal ảo:

~/project/start_terminals.sh

Bạn có thể chuyển đổi giữa các terminal ảo bằng các tổ hợp phím Ctrl+Alt+F4, Ctrl+Alt+F5Ctrl+Alt+F6.

Tóm tắt

Trong lab này, chúng ta đã khám phá mục đích và cách sử dụng lệnh getty trong Linux. Lệnh getty chịu trách nhiệm khởi tạo và cấu hình các terminal ảo, nhắc người dùng nhập thông tin đăng nhập và khởi chạy quá trình đăng nhập sau khi xác thực thành công. Chúng ta đã tìm hiểu về các tùy chọn khác nhau có sẵn với lệnh getty, chẳng hạn như đặt chuỗi khởi tạo, bật điều khiển luồng đầu vào và cấu hình thời gian chờ đăng nhập. Ngoài ra, chúng ta đã thảo luận về cách cấu hình và quản lý các terminal ảo bằng lệnh getty.

400+ câu lệnh phổ biến trong Linux