AD 사용자 가입 후 [User@domain@host]를 [user@host]로 변경합니다.

AD 사용자 가입 후 [User@domain@host]를 [user@host]로 변경합니다.

내 CentOS 시스템은 AD를 통해 도메인에 가입되어 있으므로 AD의 자격 증명을 사용하여 SSH를 통해 로그인할 수 있습니다. 모든 것이 잘 작동하지만 이제 사용자 이름이 보기 흉해 보입니다 user@domain@host.

내가 로그인한 사용자와 호스트 이름만 표시되도록 변경하고 싶습니다. 이름이 이미 이므로 \u@\h이 방법으로 문제를 해결할 수 있는 옵션이 표시되지 않습니다. 파일에는 sshd.conf아무 것도 없습니다 (아무것도 있어야 한다는 것은 아닙니다). sssd.conf및 다른 파일에도 마찬가지입니다. 이 작업을 수행하는 방법을 아는 사람이 있나요?

편집:
해결책을 찾았습니다(Jeff Schaller의 도움을 받아).
방금 편집하고 . 로 /etc/bashrc대체했습니다 . 문제는 매번 SSH에 연결한다는 것입니다.PS1="[\u@\h \W]\\$ "PS1="[${USER%@*}@\h \W]\$ "

답변1

\u프롬프트 확장을 사용하는 대신 모든 앰퍼샌드와 후행 텍스트를 제거하여 $USER로컬 또는 전역 PS1 정의를 변경하여 PS1에 확장하도록 요청할 수 있습니다.

에서:

PS1='[\u@\h \W]\$ '

도착하다:

PS1='[${USER%@*}@\h \W]\$ '

\u이는 (고정) 확장보다 더 많은 장난을 허용하지만 USER가 읽기 전용이 아닌 경우 허용될 수 있습니다.

[bob@host ~]$ USER=notreallyroot
[notreallyroot@host ~]$ [email protected]
[notreallyroot@host ~]$

관련 정보