명령어

리눅스 wall 명령어 – 모든 터미널로 메세지 보내기

리눅스 명령어 – 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 명령어를 주의해서 사용해야 할 수 있습니다.

JooTC

안녕하세요. 테크놀로지에 관심이 많은 블로거입니다.

Recent Posts

[안드로이드] INSTALL_FAILED_INSUFFICIENT_STORAGE 해결

INSTALL_FAILED_INSUFFICIENT_STORAGE 문제 안드로이드 스튜디오에서 에뮬레이터를 실행하고 개발중인 애플리케이션을 실행하려 하면 로그 창에 아래와 같이 표시되면서…

5개월 ago

Zalgo 텍스트와 이를 방지하는 방법

인터넷 커뮤니티 사이트에서 게시글이나 댓글에 간혹 장난을 목적으로 작성된 특이한 글자를 볼 수 있습니다. 위…

7개월 ago

리눅스 kill, killall 명령어 – 특정 프로세스 종료하기

리눅스 명령어 - kill, killall 리눅스 kill 명령어는 특정 프로세스를 종료해주는 명령어입니다. 백그라운드에서 실행되고 있는…

7개월 ago

JavaScript typeof null이 ‘object’인 이유

JavaScript는 역사가 긴 스크립트 프로그래밍 언어입니다. 세월이 흐르면서 많은 자바스크립트 표준이 만들어졌고, 현재는 많은 문법적…

7개월 ago

Mocha Error: Resolution method is overspecified. 해결 방법

NodeJS 테스트 프레임워크인 Mocha는 비동기 테스트를 지원합니다. 간혹 특정 테스트 스크립트를 작성하고 실행하면 아래와 같이…

7개월 ago

윈도우 11 설치 시 Microsoft 계정 로그인 없이 로컬 계정 만들기

언제부턴가 윈도우 11을 처음 설치할 때 마이크로소프트(Microsoft) 계정 로그인을 강제로 요구하게 되었습니다. 물론 마이크로소프트 계정이…

1년 ago