Khắc phục lỗi “This account is currently not available” trên Linux

Bạn sẽ biết cách giải quyết lỗi “This account is currently not available” trên Linux trong bài này, tình huống xảy ra khi cố gắng login user qua SSH hoặc cố gắng ‘su’ chuyển đổi shell user ngay trên terminal. Vậy tại sao lại có vấn đề phát sinh lỗi như trên ?

– Tình huống lỗi 1, khi cố SSH vào hệ thống Linux bằng user cụ thể.

# ssh lab1@lab.cuongquach.com
lab1@lab.cuongquach.com password:
This account is currently not available.
Connection to lab.cuongquach.com closed.

– Tình huống lỗi 2, khi bạn chuyển đổi shell sang user khác trên hệ thống Linux bằng lệnh ‘su’.

# su - lab2
This account is currently not available

“This account is currently not available” nghĩa là gì ?

Lỗi “This account is currently not available” có nghĩa là tài khoản user bạn đang cố gắng “ssh” hoặc “su“, hiện không được sẵn sàng để sử dụng vì lý do không có môi trường shell hợp lệ để hoạt động đối với user đó.

Bạn có thể dễ dàng kiểm tra vấn đề shell không hợp lệ của user bằng cách coi thông tin file ‘/etc/passwd‘ và kiểm tra xem shell của user mình cần login đang được set là gì. Nếu mà shell được gán là “/bin/false” hoặc “/sbin/nologin” thì bạn có thể xác định đây chính là nguyên nhân bạn không có shell hợp lệ để hoạt động với user của bạn. Ví dụ như sau:

# grep -E "lab1|lab2" /etc/passwd
lab1:x:500:500::/home/lab1:/bin/false
lab2:x:501:501::/home/lab2:/sbin/nologin

Fix lỗi “This account is currently not available”

Vậy khắc phục lỗi này như thế nào đây? Đơn giản là bạn chỉ cần cài đặt lại thông tin môi trường shell dành cho user bị lỗi của bạn. Bằng 3 cách: xài lệnh ‘usermod‘, xài lệnh ‘chsh‘ hoặc chỉnh sửa ‘/etc/passwd‘ trực tiếp vì xài lệnh gì thì cũng chỉ là gián tiếp chỉnh sửa thông tin shell trong file /etc/passwd.

+ Lệnh ‘chsh’

# chsh -s /bin/bash lab1
# chsh -s /bin/bash lab2

+ Lệnh ‘usermod’

# usermod -s /bin/bash lab1
# usermod -s /bin/bash lab2

Sau khi thực hiện các lệnh trên bạn có thể kiểm tra lại thông tin shell lần nữa trong file /etc/passwd .

# grep -E "lab1|lab2" /etc/passwd
lab1:x:500:500::/home/lab1:/bin/bash
lab2:x:501:501::/home/lab2:/sbin/bash

 
Nếu bạn không biết có bao nhiêu loại shell đang được hỗ trợ để sử dụng trên hệ thống thì có thể dùng 2 cách sau để biết thông tin.

# chsh --list-shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash

 
Bây giờ bạn đã khắc phục được lỗi “This account is currently not available” thành công. Bạn có thể thử lại các hoạt động SSH và ‘su’ để kiểm tra tình trạng trên đã ổn hay chưa.

Quách Chí Cường: Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !
Related Post