AD 계정 및 /bin/bash를 사용하여 Linux에 로그인할 수 없습니다.

AD 계정 및 /bin/bash를 사용하여 Linux에 로그인할 수 없습니다.

AD 계정(Kerberos v5, SSSD, Samba 및 NTP)을 사용하여 Linux에 로그인하는 데 필요한 모든 것을 구성했지만 Putty를 사용하여 서버에 연결하면 시작되는 기본 셸은 /bin/sh.

저는 Mac Mini PowerPC를 사용하고 있으며 SSSD 버전 1.13.4가 설치되어 있습니다.

/etc/sssd/sssd.conf문서:

[sssd]
services = nss, pam
config_file_version = 2
domains = <FQDN>
reconnection_retries = 3
debug_level = 5

[nss]
default_shell = /bin/bash
debug_level = 5

[pam]
debug_level = 5

[domain/<FQDN>]
id_provider = ad
access_provider = ad
default_shell = /bin/bash
override_homedir = /home/%u
debug_level = 5

이 오류가 있습니다.

[e]0bash
daniel.luna@devsrv2:~$ exit
exit
[e]0

그리고

login as: daniel.luna
daniel.luna<FQDN>'s password:
...
Last login: Thu May 17 11:35:51 2018 from
-sh: 24: u@h:: not found
[e]0

bash가 기본적으로 실행되도록 모든 것을 구성해야 합니다. 도움이 필요합니까?

답변1

사용자의 LDAP 속성은 loginShell무엇입니까 ? SSSD의 LDAP/AD 백엔드를 사용할 때 이는 일반적으로 사용자의 셸을 결정합니다.

몇 가지 다른 도구를 사용하여 사용자의 셸을 인증할 수 있습니다.

를 사용하면 getent passwdshell이 ​​일곱 번째(마지막) 필드가 됩니다.

[hendrenj@pitserver ~]$ getent passwd hendrenj
hendrenj:*:152370:829:hendrenj:/home/hendrenj:/bin/bash

또는 를 사용하여 sssctl user-checksgrep을 사용하여 셸을 찾을 수 있습니다.

[hendrenj@pitserver ~]$ sudo sssctl user-checks hendrenj 2>&1 | grep shell
 - shell: /bin/bash

보고된 쉘이 아닌 경우 /bin/bashLDAP 측에서 쉘 속성을 업데이트해야 합니다. 보고된 쉘이 이면 /bin/bash문제는 로컬에 있습니다. 귀하의 구성 오류가 주장한 내용과 다르거나, 사용자의 sssd.conf파일 이 다른 셸을 실행 중이거나, 다른 로컬 문제가 있습니다./bin/bash.bashrc

관련 정보