리눅스 명령어 – wall
wall
명령어는 리눅스 시스템에서 사용자의 터미널로 메세지를 보내는 방법 중 하나입니다. 터미널에 접속된 사용자라면 누구든지 wall
명령어로 터미널에 메세지를 보낼 수 있습니다.
설치하기
wall
명령어는 util-linux
패키지에서 사용되는 명령어입니다. 대부분은 기본으로 설치되어 있습니다. 또한 이 패키지는 보호되어 있으므로 임의로 삭제하는 것이 어려울 수 있습니다.
[root@localhost ~]# apt install util-linux
사용 방법
단순히 wall
만 입력했을 경우 입력 모드가 됩니다.
원하는 메세지를 입력한 후 Ctrl + D
를 입력하여 메세지를 즉시 보낼 수 있습니다. 여기서는 ‘hello’ 만 입력해보았습니다.
이제 터미널에 접속된 모든 사용자에게 다음과 같이 나타날 것입니다.
Broadcast message from test@ubuntu-pc (pts/1) (Sat Nov 17 18:46:17 2018): hello
wall
명령어에 인자값을 붙여 입력 모드로 전환하지 않고 즉시 메세지를 보낼 수도 있습니다.
user@ubuntu-pc:~$ wall hello. nice to meet you. Broadcast message from user@ubuntu-pc (pts/3) (Sat Nov 17 18:39:23 2018): hello. nice to meet you.
만약 특정 그룹에 속한 사용자에게만 메세지를 보내고 싶을 경우 -g [그룹명]
옵션을 붙입니다. 예를 들어 sudo
그룹에 속한 사용자에게만 메세지를 보내려면 아래와 같이 사용합니다.
user@ubuntu-pc:~$ wall hello, sudo guys! -g sudo Broadcast message from user@ubuntu-pc (pts/1) (Sat Nov 17 18:42:53 2018): hello, sudo guys!
특정 텍스트 파일을 지정하여 해당 파일의 내용을 보낼 수도 있습니다. 두 줄의 내용이 적힌 mytextfile.txt 파일을 wall
메세지로 보내려 할 때 다음과 같이 사용할 수 있습니다. 그러나 이 기능을 사용하려면 보내는 사용자에게 슈퍼유저(superuser) 권한이 있어야 합니다.
root@ubuntu-pc:~# wall mytextfile.txt Broadcast message from user@ubuntu-pc (pts/1) (Sat Nov 17 18:29:53 2018): hello. this is test. bye!
wall
명령어를 사용하여 메세지 뿐만 아니라 간단한 명령도 보낼 수 있습니다.
예를 들어 ls
명령어의 출력 결과를 wall
메세지로 보내는 경우입니다.
user@ubuntu-pc:~$ wall $(ls) Broadcast message from user@ubuntu-pc (pts/3) (Sat Nov 17 18:33:14 2018): Desktop Documents Downloads examples.desktop Music Pictures Public Templates Videos
물론 이렇게하면 메세지를 보낸 사용자의 계정의 실행 결과가 모든 사용자에게 보여지게 됩니다. 다른 사용자로 로그인되어도 메세지를 보낸 사용자의 결과가 나타납니다.
따라서 이를 이용한 다양한 보안 취약점이 존재할 수 있으므로 wall
명령어를 주의해서 사용해야 할 수 있습니다.