LDAP 서버(클라이언트 아님)의 모든 LDAP 사용자에 대한 기본 로그인 셸을 /bin/bash로 변경합니다.

LDAP 서버(클라이언트 아님)의 모든 LDAP 사용자에 대한 기본 로그인 셸을 /bin/bash로 변경합니다.

어쩌면 내 Google kungfu가 오늘 잘 작동하지 않을 수도 있지만 클라이언트의 각 사용자에 대해(한 번에 하나씩) 그리고 심지어 ldapmodify를 사용하여 LDAP 측에서도 이 작업을 수행할 수 있는 확실한 방법을 찾았습니다.하나씩.

내가 설정하고 싶은 것은 SSH 기반의 LDAP 로그인과 작동 방식입니다.일종의, 여전히 그룹으로 제한되어야 하지만 그것은 또 다른 주제입니다., 그러나 지금까지 기본 쉘은 /bin/sh입니다. PHPLDAPADMIN에 /bin/bash 옵션이 표시되지 않습니다.

/bin/sh는 탭 완료가 없기 때문에 정말 나쁩니다. 이것이 제가 가장 먼저 알아차린 것이며 더 많은 것이 있을 것이라고 확신합니다.

사용자별 또는 클라이언트별 구성이 필요하지 않도록 LDAP 서버에서 모든 PosixAccounts의 기본 셸을 /bin/bash로 변경하는 방법입니다.가능하지 않은 경우 클라이언트 측에서 전역적으로 어떻게 변경할 수 있습니까? 저/저희는 50개의 서버만 관리하므로 이 단계를 LDAP 통합에 추가하는 것이 불가능하지는 않지만, 깔끔함과 적절성을 위해 LDAP 서버에서 수행해야 한다고 생각합니다.

답변1

sudo nano /etc/phpldapadmin/templates/creation/posixAccount.xml

홈 디렉토리는 실제로 문제의 일부가 아니었습니다. P. 하지만 제가 수정한 것은 홈 디렉토리 두 개뿐이어서 포함해야 한다고 생각했습니다! 하지만 지금은 잘 작동합니다! 그러나 이미 서버에 로그인한 사용자의 경우 소급하여 수정하지 않으며 phpldapadmin에서 값을 변경하더라도 여전히 이전 홈 디렉토리와 /bin/sh를 얻습니다.

<attribute id="homeDirectory">
    <display>Home directory</display>
    <!-- <onchange>=autoFill(homeDirectory;/home/%gidNumber|0-0/T%/%uid|3-%)</onchange> -->
    <order>8</order>
    <page>1</page>
</attribute>
<attribute id="loginShell">
    <display>Login shell</display>
    <order>9</order>
    <page>1</page>
    <!-- <value><![CDATA[=php.PickList(/;(&(objectClass=posixAccount));loginShell;%loginShell%;;;;loginShell)]]></value> -->
    <type>select</type>
    <value id="/bin/sh">/bin/sh</value>
    <value id="/bin/csh">/bin/csh</value>
    <value id="/bin/tsh">/bin/tsh</value>
    <value id="/bin/bash">/bin/bash</value>
</attribute>

관련 정보