Lệnh agetty trong linux với các ví dụ dễ hiểu

Lệnh agetty trong linux là một chương trình quản lý các cổng nối tiếp và tạo ra các tiến trình đăng nhập cho người dùng. Nó lắng nghe trên một cổng, hiển thị lời nhắc đăng nhập và sau đó thực thi lệnh "login" sau khi người dùng nhập tên đăng nhập. Agetty thường được sử dụng trên các hệ thống nhúng hoặc để truy cập hệ thống thông qua một thiết bị đầu cuối nối tiếp.

Lệnh agetty trong linux là gì?

Lệnh agetty trong Linux là một chương trình quản lý các cổng nối tiếp hoặc thiết bị đầu cuối ảo, giúp người dùng đăng nhập vào hệ thống. Command agetty in linux thường được khởi chạy bởi init hoặc systemd để hiển thị lời nhắc đăng nhập trên một thiết bị đầu cuối cụ thể. Nó lắng nghe trên cổng chỉ định và khi phát hiện kết nối, nó sẽ hiển thị thông báo đăng nhập. Sau khi người dùng nhập tên đăng nhập, agetty sẽ gọi chương trình login để xác thực và thiết lập phiên làm việc. Agetty đóng vai trò quan trọng trong việc cung cấp giao diện dòng lệnh cho người dùng tương tác với hệ thống Linux.

Tìm hiểu Mục đích và Cách sử dụng lệnh agetty

Trong bước này, chúng ta sẽ khám phá mục đích và cách dùng lệnh agetty trong Linux. Lệnh agetty là một chương trình quản lý quá trình đăng nhập người dùng trên các cổng nối tiếp hoặc console ảo của hệ thống. Đầu tiên, hãy kiểm tra phiên bản của agetty đã được cài đặt trên hệ thống của chúng ta:
agetty --version
Ví dụ về kết quả đầu ra:
agetty (util-linux 2.37.2)
Lệnh agetty chịu trách nhiệm cho các công việc sau:
  • Hiển thị dấu nhắc đăng nhập
  • Xử lý quá trình đăng nhập của người dùng
  • Khởi tạo các cài đặt terminal
  • Khởi chạy shell của người dùng sau khi đăng nhập thành công
Để hiểu cách sử dụng cơ bản của agetty, chúng ta có thể chạy lệnh sau:
man agetty
Lệnh này sẽ mở trang hướng dẫn sử dụng (manual page) cho lệnh agetty, cung cấp thông tin chi tiết về các tùy chọn và cách sử dụng của nó.

Cấu hình agetty để truy cập Serial Console

Trong bước này, chúng ta sẽ cấu hình agetty để kích hoạt truy cập serial console trên hệ thống.

Đầu tiên, hãy kiểm tra cấu hình hiện tại của agetty bằng cách xem file /etc/inittab.

Lưu ý rằng trên Ubuntu 22.04, file /etc/inittab không còn được sử dụng nữa, nên ta sẽ dùng cấu hình systemd:

sudo cat /etc/systemd/system/[email protected]

Lệnh này sẽ hiển thị cấu hình mặc định cho dịch vụ getty, được agetty sử dụng để quản lý quá trình đăng nhập.

Tiếp theo, hãy cấu hình agetty để kích hoạt truy cập serial console bằng cách tạo một file service systemd mới:

sudo nano /etc/systemd/system/[email protected]

Thêm nội dung sau vào file vừa tạo để cấu hình serial console:

[Unit]
Description=Serial Getty on %I
After=systemd-user-sessions.service plymouth-quit-wait.service
[Service]
ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 --noclear %I $TERM
Type=idle
Restart=always
UtmpIdentifier=%I
TTYPath=/dev/%I
TTYReset=yes
TTYVHangup=yes
KillMode=process
IgnoreSIGPIPE=no
SendSIGHUP=yes
[Install]
WantedBy=getty.target

Cấu hình này thiết lập agetty để lắng nghe trên serial console ở các tốc độ baud 115200, 38400 và 9600.

Dịch vụ cũng sẽ tự động khởi động lại nếu bị lỗi, đảm bảo tính ổn định.

Lưu file và kích hoạt service systemd mới để áp dụng cấu hình:

sudo systemctl enable [email protected]
sudo systemctl start [email protected]

Lệnh này sẽ khởi động tiến trình agetty cho serial console trên thiết bị ttyS0.

Quản lý quy trình đăng nhập người dùng với agetty

Trong bước cuối cùng này, chúng ta sẽ tìm hiểu cách quản lý quy trình đăng nhập bằng lệnh agetty.

Đầu tiên, hãy tạo một tài khoản người dùng mới để kiểm tra quy trình đăng nhập nhé:

sudo useradd -m testuser
sudo passwd testuser

Lệnh này sẽ tạo tài khoản "testuser" và đặt mật khẩu cho tài khoản đó.

Tiếp theo, ta dùng lệnh agetty để mô phỏng quy trình đăng nhập người dùng. Chạy lệnh sau:

sudo agetty --login-program /bin/login --autologin testuser tty1

Lệnh này khởi động tiến trình agetty, tự động đăng nhập tài khoản "testuser" trên console ảo tty1.

Bạn có thể chuyển sang console tty1 (thường bằng Ctrl+Alt+F1) và thấy người dùng đã đăng nhập với tên "testuser".

Để dừng tiến trình agetty, nhấn Ctrl+C trong terminal bạn đã chạy lệnh agetty.

Kết luận cho linux agetty command

Vậy là chúng ta đã cùng nhau khám phá lệnh agetty thú vị trong Linux rồi! Hy vọng qua bài viết này, bạn đã hiểu rõ hơn về cách agetty giúp quản lý các cổng giao tiếp và khởi tạo phiên đăng nhập. linux agetty command thực sự là một công cụ mạnh mẽ, tuy có vẻ "ẩn mình" nhưng lại đóng vai trò quan trọng trong hệ thống. Đừng ngần ngại thử nghiệm các tùy chọn khác nhau để làm chủ hoàn toàn lệnh này nhé. Việc tùy chỉnh agetty có thể giúp bạn tối ưu hóa quá trình khởi động và quản lý hệ thống một cách hiệu quả hơn. Chúc bạn thành công trên hành trình khám phá Linux và những điều thú vị mà nó mang lại! Hãy nhớ rằng, thực hành là chìa khóa để nắm vững mọi kiến thức.

Last Updated : 17/10/2025