쪽팔리면 질문하지 맙시다. 소중한 답변 댓글을 삭제하는건 부끄러운 일 입니다
안녕하세요. 모두들 잘 지내고 계신지요.
갑자기 제목과 같은 현상이 발생해서 해결책을 찾고 있습니다. 혹시 비슷한 경험이 있으신 분들이나 짐작가는 내용이 있으시면 한마디 해 주시면 감사하겠습니다.
사내망( 외부 인터넷 불가능 ) 안에 NIS 서버가 있고, 연산용 서버가 있습니다.
연산용 서버에서 user계정은 NIS 서버에서 가져옵니다.
루트 계정 작업이 필요할 때는 직접 root 로 로그인 하거나, sudo 를 씁니다.
1. user 계정으로 연산용 서버에 접속하면, 프롬프트가 정상적으로
" [아이디@서버이름]$ "
으로 출력됩니다.
2. root 로 로그인하면, 암호 입력 후에 마지막 접속일이 나오고 .... 그냥 대기탑니다.
"Last login: Mon May 22 11:22:33 KST 2023 on pts/65" 이런 문자열 나오고, 무한대기
3. 암호를 틀리면 로그인 안된다고 나오니까, 암호는 정상 입력한 게 맞습니다.
4. 저 메시지가 나오고 나서 Ctrl + C 를 눌러 중단하면,
프롬프트가 " -bash-4.2# " 로 출력된 상태로 루트 콘솔이 뜹니다.
인터넷을 뒤져보면 /root/ 가 사용할 .bash_profile 이 없다던가, .bashrc 가 없다던가 하는 문제라고 하는데,
/root/ 아래에 .bashrc .bash_profile 이 없지는 않습니다. 다른 작업 서버의, 정상 접속되는 bashrc 와 비교해 봤는데, 특별히 다른 게 없습니다.
/root/.bash_profile 는 아래와 같습니다.
-bash-4.2# cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
-bash-4.2#
.bashrc 도 특별할 게 없습니다.
-bash-4.2# cat .bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
-bash-4.2#
느낌이, .bashrc 파일 자체가 실행 안 되는 느낌인 거 같은데,
왜 실행 안 되는지는 모르겠네요.
이상입니다. 감사합니다.
일반계정에서 해보시고 root 계정에서 해서 비교한 뒤에 쉘스크립트 추적해서 원인 찾으면 될겁니다.
로 root 전환하면 어떻게 나오나요?
root shell은 "#"가 붙는 것이 정상입니다. su 로 하면 root환경을 가져오지 않기 때문에 일반 유저 환경에 머물러 있어서 프럼프트 자체도 일반 유저의 프럼프트를 그대로 사용합니다.
환경 변수 이야기를 하셔서, su - root 가 정상 실행되는 서버와, 멈춰서 Ctrl C 누르는 서버의 env 를 비교해 봤습니다.
정상:
[root@XXXXXXXX ~]# printenv
XDG_SESSION_ID=641
HOSTNAME=XXXXXXXX
HARDWARE_PLATFORM=x86_64
SHELL=/bin/bash
TERM=xterm-256color
HISTSIZE=1000
QTDIR=/usr/lib64/qt-3.3
QTINC=/usr/lib64/qt-3.3/include
QT_GRAPHICSSYSTEM_CHECKED=1
USER=root
LS_COLORS=rs=0:di=38;5;27:ln=38;5;51 ... :*.xspf=38;5;45:
MAIL=/var/spool/mail/root
PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
PWD=/root
LANG=en_US.UTF-8
MODULEPATH=/usr/share/Modules/modulefiles:/etc/modulefiles
LOADEDMODULES=
KDEDIRS=/usr
HISTCONTROL=ignoredups
SHLVL=1
HOME=/root
LOGNAME=root
QTLIB=/usr/lib64/qt-3.3/lib
CVS_RSH=ssh
XXXXXXXX=XXXXXXXX
MODULESHOME=/usr/share/Modules
LESSOPEN=||/usr/bin/lesspipe.sh %s
DISPLAY=localhost:42.0
QT_PLUGIN_PATH=/usr/lib64/kde4/plugins:/usr/lib/kde4/plugins
XAUTHORITY=/root/.xauthxKVJpI
BASH_FUNC_module()=() { eval `/usr/bin/modulecmd bash $*`
}
_=/bin/printenv
중간멈춤 :
-bash-4.2# printenv
XDG_SESSION_ID=1066
HOSTNAME=XXXXXXXX
SHELL=/bin/bash
TERM=xterm-256color
HISTSIZE=1000
USER=root
MAIL=/var/spool/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
PWD=/root
HISTCONTROL=ignoredups
SHLVL=1
HOME=/root
LOGNAME=root
DISPLAY=localhost:74.0
XAUTHORITY=/root/.xauthfu1DE2
_=/bin/printenv
크게 보면 QT 가 안 올라간 게 보이고,
module 이 못 올라간 걸로 보입니다만... 왜 못올라갔는지는 모르겠습니다.
정상 실행의 경우, su - root 를 시도하면
멈추지 않습니다. ( 안멈추는게 정상이겠죠... -_-;; )
prompt 도 "[root@서버이름]# " 으로 떨어지고요. "-bash-4.2# " 으로 안 나와요.
혹시 문제 해결되게 되면, 답글 달겠습니다.
답변 감사드립니다. 혹시 다른 분들도 짐작가는 곳이 있으시면 말씀해 주시면 감사하겠습니다.
모두들 즐거운 하루 되시기 바랍니다.
smartctl 돌려서 reallocated sector 확인해보시는게.