Tips for finding Knowledge Articles

  • - Enter just a few key words related to your question or problem
  • - Add Key words to refine your search as necessary
  • - Do not use punctuation
  • - Search is not case sensitive
  • - Avoid non-descriptive filler words like "how", "the", "what", etc.
  • - If you do not find what you are looking for the first time,reduce the number of key words you enter and try searching again.
  • - Minimum supported Internet Explorer version is IE9
Home  >
article

KB-1861: SSH fails/Access denied if the shell /bin/bash does not exist

Centrify DirectControl ,  

12 April,16 at 11:37 AM

Applies to: All versions of Centrify DirectControl

Problem:
It is noticed that one cannot log as an AD user at the Unix console, PuTTY session, or another terminal session.

For example, when logging on at the Unix console with the correct AD user and password, you notice an "Access denied" flash very quickly and you are returned to the login prompt.  You may also see 'close connection' message.

You can see similar output in PuTTY (or other client) session. However, "Access denied" does not flash and the output remains on the screen:

login as: fthomas
Red Hat Enterprise Linux ES 3
(Taroon Update 2)
Password:
Access denied
fthomas@dk-rhlinux3's password:

 

Oct  7 12:32:37 your-machine auth|security:info sshd[516272]: User joe not allowed because shell /bin/bash does not exist

Oct  7 12:32:43 your-machine auth|security:debug adclient[663728]: DEBUG <fd:23 PAMGetUnixName> base.objecthelper 'NOUSER' is not a canonical name

Oct  7 12:32:43 your machine auth|security:debug adclient[663728]: DEBUG <fd:23 PAMGetUnixName> daemon.ipcclient Name 'NOUSER' was not found


Cause: 
The Unix enabled user's profile for default Shell (ie: /bin/bash) may not exist on the Unix machine that this user is trying to logon to. The user in this example is fthomas.

On AIX servers, su to AD account will result in "unable to process session" as /bin/bash is not enabled by default

http://www-01.ibm.com/support/docview.wss?uid=swg21514391

 


Resolution:
1. On the Unix machine, create a symlink from the existing shell (ie: ksh) to the default shell configured for the user, fthomas (ie: bash). This method is desirable if /bin/bash (in this example) does not exist for this single (or a few) Unix machine(s) in the same Zone.

OR

2. Change the default shell for all Users in the Zone. Simply right-click on <zone_name> and select Properties. Select from available shells. If not in the list, click Add and enter the path to the existing shell on the Unix machines under <zone_name>. Then click "Set As Default". This method is desirable if all (or most) of the Unix machines in the Zone <zone_name> do not have /bin/bash (for example). If its Centrify DirectControl 5.x, the shell can be set to %{shell} so that system will figure out the shell.

OR

3. On the Centrify console, temporarily change the shell for this user to /bin/ksh (for example) and ensure this shell exist under /bin. 

4. On the Unix server, run adflush -f as root to clear cache and attempt ssh login.

Centrify Corporation does not take any responsibility for the content or availability of this link and it was provided as a courtesy.  Customers should contact the vendor if there are any further questions

Still have questions? Click here to log a technical support case, or collaborate with your peers in Centrify's Online Community.