정수정이 올린 짤방 보고 뭔가 큰 게 터졌구나 귀찮아서 안 찾아봤는데 오늘 기사를 봤다.

내가 주로 쓰는 우분투 데스크탑 현재 상황이다. 우분투 기본 셸이 dash라던데 왜 bash로 되어있는 지 모르겠다.


user@black:~$ echo $SHELL
/bin/bash
user@black:~$ ps -p $$
PID TTY TIME CMD
4176 pts/5 00:00:00 bash
user@black:~$ cat /etc/passwd |grep sh
root:x:0:0:root:/root:/bin/bash
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
speech-dispatcher:x:109:29:Speech Dispatcher,,,:/var/run/speech-dispatcher:/bin/sh
user:x:1000:1000:user,,,:/home/user:/bin/bash
user@black:~$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
user@black:~$ uname -a
Linux black 3.13.0-35-generic #62-Ubuntu SMP Fri Aug 15 01:58:42 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
user@black:~$ cat /etc/issue
Ubuntu 14.04.1 LTS \n \l
user@black:~$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable
this is a test
user@black:~$


다음은 24시간 집에 켜놓는 루분투 서버다. 이것 역시 왜 bash로 되어 있는 지 모르겠다.


silver@silver-desk생략top:/bin$ echo $SHELL
/bin/bash
silver@silver-desk생략top:/bin$ ps -p $$
PID TTY TIME CMD
10684 pts/0 00:00:00 bash
silver@silver-desk생략top:/bin$ cat /etc/passwd | grep sh
root:x:0:0:root:/root:/bin/bash
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
silver:x:1000:1000:silver,,,:/home/silver:/bin/bash
sshd:x:108:65534::/var/run/sshd:/usr/sbin/nologin
silver@silver-desk생략top:/bin$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
silver@silver-desk생략top:/bin$ uname -a
Linux silver-desk생략top 3.13.0-35-generic #62-Ubuntu SMP Fri Aug 15 01:58:42 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
silver@silver-desk생략top:/bin$ cat /etc/issue
Ubuntu 14.04.1 LTS \n \l

silver@silver-desk생략top:/bin$ env var='() { ignore this;}; echo vulnerable' bash -c /bin/true
vulnerable
silver@silver-desk생략top:/bin$


패치 해야겠다. 두 서버 다 엎고 다시 깔긴 깔아야겠는데 귀찮다.


질문1: 왜 dash가 bash로 바뀌었을까요? 제가 바꾼 기억이 없는데...?


질문2: sh님은 아이디가 sh인데 bash 셸 버그를 알고 있었던 것 아닐까요?