나는 구식 유닉스 사람이므로 Linux 기술이 약간 오래된 것입니다. 그러나 이것은 충분히 간단해야합니다.
루트가없는 Red Hat Linux 시스템 (회사 IT 부서에서 관리)에서 로그인 쉘을 변경할 수 있기를 원합니다. chsh를 실행하면 다음이 제공됩니다.
$ chsh -s /bin/bash
chsh: can only change local entries; use ypchsh instead.
그래서 대신 ypchsh를 실행했습니다.
$ ypchsh userid
ypchsh: can't find the master ypserver: Internal NIS error
무엇을 제공합니까? 다른 아이디어가 있습니까?
답변
-
NIS :
ypchsh
-
LDAP :
$ ldapmodify <<EOF dn: YOUR_DN changetype: modify replace: loginShell loginShell: /bin/bash - EOF
( YOUR_DN 형식 일 수 있습니다
uid=$USER,ou=people,dc=example,dc=org
. 보려고ldapwhoami
합니다) -
Hesiod : 시스템 관리자에게 문의하십시오.
-
Active Directory : 시스템 관리자에게 문의하십시오.
답변
로그인시 쉘을 변경하기 위해 하나의 해결 방법을 사용했습니다. bash
내 .profile
파일 에서 쉘을 변경하는 데 사용되는 것을 넣었습니다 .
.profile
사용자의 홈 디렉토리에서 찾을 수 있습니다 ls -la
.
귀하의 .profile
파일은 다음과 같은 것을 할 수 있습니다 :
PATH=/usr/bin
export PATH
#Add this to go bash at login
bash
#end
답변
내 경우의 진정한 대답은 시스템 관리자 (IT)가 표준 구성을 잠그고 싶어하므로 요청해야한다는 것입니다. 그러나 프로세스에서 시스템이 동일한 SASL 오류 “ldap_sasl_interactive_bind_s : 알 수없는 인증 방법 (-6) 추가 정보를보고하는 경우를 대비하여 LDAP 구성을 파악하는 데 도움이되는 몇 가지 더 유용한 명령을 발견했습니다. : SASL (-4) : 사용 가능한 메커니즘이 없음 : “
시스템이 지원하는 SASL 인증 방법을 나열하십시오.
ldapsearch -x -LLL -s "base" -b "" supportedSASLMechanisms
결과는 다음과 같습니다.
dn:
supportedSASLMechanisms: EXTERNAL
supportedSASLMechanisms: DIGEST-MD5
그런 다음 -Y 옵션을 사용하여 인증 방법을 LDAP 명령에 전달할 수 있습니다.
ldappasswd -Y DIGEST-MD5
ldapmodify -Y DIGEST-MD5
답변
또 다른 해결책은 단순히 YP 쉘을 무시하는 것입니다.
이 줄을 다음에 추가하십시오 /etc/passwd
.
+<USERNAME>::::::/bin/bash
예:
+psalm33::::::/bin/bash
그리고 당신의 다음을 추가하십시오 /etc/nsswitch.conf
:
passwd: compat
passwd_compat: nis