-1

Trying to follow this solution: https://serverfault.com/a/384811

But couldn't follow these final steps: "also, check that the shell is not set to either /sbin/nologin or /bin/false, which would also block login, even with a successful authentication."

I'm on lubuntu recovery shell. How should I proceed? I have rudimentary knowledge on all this. TY

closed as off-topic by EEAA, HBruijn, peterh, mdpc, Jenny D May 15 '15 at 9:08

This question appears to be off-topic. The users who voted to close gave this specific reason:

If this question can be reworded to fit the rules in the help center, please edit the question.

  • 3
    Just check in /etc/passwd that you don't have /sbin/nologin or /bin/false defined in the last field – krisFR May 13 '15 at 18:40
1

"also, check that the shell is not set to either /sbin/nologin or /bin/false, which would also block login, even with a successful authentication."

In the link you provided, the above refers to /etc/passwd file.

The /etc/passwd file format is as follow :

  1. Username: It is used when user logs in. It should be between 1 and 32 characters in length.
  2. Password: An x character indicates that encrypted password is stored in /etc/shadow file.
  3. User ID (UID): Each user must be assigned a user ID (UID). UID 0 (zero) is reserved for root and UIDs 1-99 are reserved for other predefined accounts. Further UID 100-999 are reserved by system for administrative and system accounts/groups.
  4. Group ID (GID): The primary group ID (stored in /etc/group file)

  5. User ID Info: The comment field. It allow you to add extra information about the users such as user's full name, phone number etc. This field use by finger command.

  6. Home directory: The absolute path to the directory the user will be in when they log in. If this directory does not exists then users directory becomes /
  7. Command/shell: The absolute path of a command or shell (/bin/bash). Typically, this is a shell. Please note that it does not have to be a shell.

Here, you are interested in the last parameter : Command/shell

In case you could find this interesting, here are the difference between /sbin/nologin and /bin/false :

When /sbin/nologin is set as the shell, if user with that shell logs in, they'll get a polite message saying 'This account is currently not available.'. This message can be changed with the file /etc/nologin.txt.

/bin/false is just a binary that immediately exits, returning false, when its called, so when someone who has false as shell logs in, they're immediately logged out when false exits.


So, basically, just check in file /etc/passwd that you don't have /sbin/nologin or /bin/false defined in the last field for the user you need.

(well, not sure why i wrote such an answer as my initial comment should be enough, but that is...)

Not the answer you're looking for? Browse other questions tagged or ask your own question.