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 [email protected] [email protected] 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.