Lỗi trên xảy ra khi bạn muốn login vào một account hoặc chạy command thông qua account đấy trên linux. Nguyên nhân của lỗi này là do account mà bạn login vào không được thiết lập shell để login hay chạy command như bên dưới:
# sudo su apache
This account is currently not available.
#
# grep apache /etc/passwd
apache:x:48:48:Apache:/var/www:/sbin/nologin
#
Cách khắc phục lỗi này là thì bạn thiết lập shell cho account đấy sử dụng thông qua câu lệnh sau:
# chsh -s /bin/bash apache hoặc là # chsh -s /sbin/bash apache
Sau khi thực hiện lệnh trên bạn có thể check lại kết quả như bên dưới.
# chsh -s /bin/bash apache Changing shell for apache. Shell changed. # # grep apache /etc/passwd apache:x:48:48:Apache:/var/www:/bin/bash # # sudo su apache bash-4.1$ --> login thành công bash-4.1$ exit --> logout
Ngoài ra nếu bạn muốn biết được shell nào đang có trong server thì bạn có thể dùng lệnh sau để check.
# chsh --list-shells /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh /bin/csh # # cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh /bin/csh #