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+F5
và Ctrl+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
.