과목2 (21~60)
바로가기 >> 리눅스마스터 기출문제 목록
eject : 보조기억장치의 미디어를 꺼낼 때 사용. 이명령을 사용하면 자동으로 언마운트 작업을 수행한다.
umask
파일이나 디렉터리 생성시 부여되는 기본 허가권 값을 지정하는 명령이다. 파일 생성 시에는 666, 디렉터리인 경우에는 777에서 설정한 umask 값을 뺀 값을 기본 허가권으로 지정한다.
설정된 umask 값이 0007 인 경우 파일을 생성하면 기본 권한이 660(666-007), 디렉터리는 770(777-007)로 설정된다.
top 실행 상태에서의 명령
k : kill 명령을 내린다. PID 값을 입력하면 종료 신호를 보낸다.
h : 도움말을 출력
q : top을 종료
r : Nice 값을 변경
m : 메모리와 관련된 항목을 on/off 한다.
t : 프로세스의 CPU 항목을 on/off 한다.
M : 프로세스의 RSS 값을 정렬한다.
P : %CPU 값으로 정렬(기본값)
어라
리눅스에서 소스 프로그램을 설치하기 위해서는 보통 압축풀기 > 디렉터리 이동 > configure > make > make install 의 5단계를 거친다.
소스 설치의 주요 3단계
configure : 소스 프로그램의 환경 설정을 하는 스크립트이다. tar.gz 등으로 제공되는 것은 대부분 프로그램 소스이기 때문에 사용자의 환경에 맞게 수정이 필요하다. 그러나 사용자들이 대부분 프로그래머가 아니기 때문에 쉽게 수정할 수 없다. configure 는 사용자들이 자신의 환경에 맞도록 손쉽게 제공된는 스크립트이다. 이 스크립트는 대부분 소스 코드의 최상위 디렉터리에 존재한다. 사용자는 이 스크립트를 수정하거나 특별히 설정할 필요는 없다. 이 스크립트는 성공적인 컴파일을 하기 위해 필요한 컴파일러, 라이브러리, 유틸리티, 기타 정보를 시스템에서 찾아낸다. 이 스크립트는 이 정보를 이용해 사용자 시스템에 적당한 소프트웨어 패키지가 생성되도록 Makefile 을 만든다.
make : 소프트웨어를 컴파일하는 유틸리티로 configure 에 의해 변경된 내용을 반영하고 타겟과 의존성 관련 작업을 하고 최종적으로 실행파일을 만든다.
make install : 컴파일된 실행 파일을 지정한 속성으로 지정된 디렉터리에 설치한다
/etc/group 의 기본구조
GroupName : Password : GID : Member_List
GroupName : 그룹 이름
Password : 그룹 패스워드. /etc/gshadow 에서 별도 관리됨
GID : 그룹에 부여된 숫자값
Member_List : 해당 그룹에 속한 사용자의 아이디. 주 그룹(Primary Group)이 아닌 2차 그룹(Secondary Group) 맴버들이 기록된다.
/proc 디렉터리의 주요 정보 파일 및 디렉터리
acpi 전원관련 정보를 담고 있는 디렉터리
bus : pci 와 같은 bus 정보를 담고 있는 디렉터리
cmdline : 부팅 시에 실행되는 커널 관련 옵션에 대한 정보를 담고 있다.
cpuinfo : CPU에 관한 정보를 담고 있다.
devices : 현재 커널에 설정된 디바이스 드라이버의 리스트 정보를 담고 있다.
dma : 시스템에서 사용중인 DMA 정보를 담고 있다.
filesystems : 커널에 설정된 파일 시스템의 리스트 정보를 담고 있다.
interrupts : 시스템에서 사용중인 인터럽트 정보를 담고 있다.
iomem 메모리 번지별로 할당된 리스트 정보를 담고 있다.
ioports : 시스템에서 사용중인 I/O 주소를 담고 있다.
kcore : 시스템에 장착된 물리적 메모리의 이미지로 실제 하드디스크의 용량을 차지하지 않는다.
loadavg : 최근 1분, 5분, 15분 동안의 평균 부하율을 기록하는 파일이다.
meminfo : 물리적 메모리 및 스왑 메모리 정보가 들어있는 파일이다.
misc : 기타 장치에 대한 정보가 들어 있는 파일이다.
mounts : 시스템에 마운트된 정보가 들어 있는 디렉터리이다.
net : Network 관련 정보 파일이 들어 있는 디렉터리
partitions : 현재 활성화된 파티션 정보를 기록하고 있는 파일이다.
scsi : SCSI 관련 정보를 기록한 파일이 들어 있는 디렉터리이다.
swaps : 스왑 파티션 관련 정보를 기록한다.
sys : 커널과 관련된 정보를 담고 있는 디렉터리로 sysctl 명령으로 제어한다.
sysvipc : SysV IPC 지원 정보인 Messages Queues, Semaphores, Shared Memory 관련 파일을 정보 파일이 들어있는 디렉터리
uptime : 시스템 가동 시간에 대한 정보를 기록한다. uptime 명령어가 참조하는 파일.
version : 커널 버전 정보를 기록한다.
mdstat : RAID 사용시에 관련 정보를 기록한다.
”Z”
Z : 좀비 프로세스를 뜻하는데 작업이 종료되었으나 부모 프로세스로부터 회수되지 않아 메모리를 차지하고 있는 상태
users 시스템에 로그인 되어 있는 사용자의 아이디를 출력해 주는 명령어
who 시스템에 로그인 되어 있는 사용자를 출력해 주는 명령어
w 시스템에 로그인 되어 있는 사용자와 사용자가 수행중인 작업을 출력해 주는 명령이다.
id 시스템에 등록된 아이디에 대한 정보를 출력하느 명령으로 UID, GID, 속한 그룹 정보를 보여준다.
echo : 문자열을 화면에 출력
HOME : 사용자의 홈 디렉터리
pwd : 현재 위치한 디렉터리의 경로를 출력
su (substitute user)
대리 유저라는 뜻으 약어로 시스템에 로그인 되어 있는 상태에서 다른 사용자의 권한으로 shell을 실행할 수 있도록 전환하는 명령
grpunconv : 사용자의 패스워드를 /etc/group 에서 관리
grpconv : 다시 사용자의 패스워드를 /etc/gshadow 에서 관리. 패스워드의 효육적 관리와 보안 측면에서는 /etc/gshadow 를 사용하는 것이 좋다.
grpck : grpck 는 group Check 의 약자로 사용자 관련 파일인 /etc/group 와 /etc/gshadow 를 점검해 준다.
pwck : pwck 는 Password Check 의 약자로 사용자 관련 파일인 /etc/passwd 와 /etc/shadow 를 점검해 준다.
기존의 리눅스 시스템에 새로운 HDD를 추가하는 순서
1. 하드디스크 설치
2. fdisk 로 파티션 생성
3. mkfs 명령어로 파일 시스템 생성
4. 마운트할 디렉터리 생성
5. mount 명령으로 마운트
6. /etc/fstab 파일을 수정하여 자동으로 마운트되도록 설정
파티션작업(fdisk) > 파일시스템생성(mkfs) > 마운트포인터생성(mkdir) > 마운트작업(mount)
cron 을 이용하여 주기적으로 실행하는 작업은 시스템 운영에 필요한 작업과 사용자의 필요에 의한 작업으로 나눌 수 있다.
실행에 필요한 작업은 root 권한으로 /etc/crontab에 등록하여 주기적으로 수행할 수 있고 사용자는 crontab라는 명령을 수행해서 등록할 수 있다.
crontab 파일은 다음과 같이 총 7개의 필드로 구성되어 있다.
<minute> <hour> <day_of_month> <month> <day_of_week> <user-name> <command>
10 1 1 1-12/2 * /etc/joon.sh
1월부터 12월까지 2개월마다 1일날 오전 1시 10 분에 실행
실행파일 경로는 /etc/joon.sh
0 0-23 * * * * /usr/bin/rdate -s time.bora.net
매 시간 정각에 시간을 동기화하는 작업을 crontab에 등록하는 명령
5 4 * * 1,3,5 /etc/log.sh
로그를 점검하는 스크립트인 /etc/log.sh 를 매주 월, 수, 금요일 새벽 4시 5분에 실행
0 12 * * 1-5 /home/posein/work.sh
월요일부터 금요일까지 오후 12시에 /home/posein/work.sh 스크립트를 실행한다.
22 4 ** 0 /root/backup.sh
매주 일요일 4시 22분에 /root/backup.sh 스크립트를 실행
‘*’는 모든(all) 을 의미하고, ‘-‘는 연결된 설정 값을 지정할 때 ‘,’은 연결되지 않은 값을 나열할 때 ‘/’는 연결된 설정 값 범위에서 특정 주기로 나눌 때 사용한다.
fidisk 실행 시 주요 명령
p : 현재 디스크 정보를 출력한다.
d : 파티션을 삭제한다.
n : 파티션을 새롭게 생성한다.
t : 파티션의 속성을 변경한다.(= 파티션의 시스템 id 를 변경한다.)
w : 변경된 파티션의 정보를 저장하고 종료한다.
q : 변경된 파티션의 정보를 저장하지 않고 종료한다.
RPM 검증모드
검증모드는 rpm 데이터베이스에 저장되어 있는 패키지의 메타데이터 정보를 이용하여 변경된 정보를 찾아내는 모드이다. 검증모드는 -V( verify) 옵션을 사용하고 파일의 크기, 허가권, 소유권, 파일 형식 등에 대한 변경 정보를 출력한다.
검증 코드
S : 파일 크기 변경
M : 파일 모드 변경
5 : 메시지 다이제스트(Message Digets) 변경(보통 MD5값 변경)
D : 장치 파일의 메이저 및 마이너 번호 불일치
L : 링크 파일 경로 불일치
U : 소유자 변경
G : 그룹 소유권 변경
T : 수정 시간 변경
P : 권한 변경
. : 테스트 통과
: 테스트를 수행하지 못했을 경우
주요옵션
-V : 검증시 사용하는 기본 옵션
-a : 모든 패키지를 검사할 때 사용
yum 을 이용해서 rpm 패키지 파일 다운로드하기
기본적으로 설치되어 있는 yum-utils 라는 패키지에는 yumdownloader 라는 명령이 있는데, 이 명령어를 이용하면 rpm 패키지를 다운로드할 수 있다.
dpkg(Debian Package)
데비안 패키지 관리 도구
사용법
# dpkg [option] [패키지명] [패키지 파일명]
주요 옵션
-i 패키지 파일명 : 패키지를 설치할 때 사용한다.
-R 디렉터리명 : 설치하는 옵션이 -i 와 같이 사용되어 지정한 디렉터리 안에 있는 패키지를 설치할 때 사용한다.
-l : 설치되어 있는 패키지를 출력한다.
-l 패키지 파일명 : 패키지 파일에 대한 정보를 출력한다.
-c 패키지 파일명 : 패키지 파일에 포함된 파일 정보를 출력한다.
-L 패키지명 : 패키지가 설치한 파일 목록을 출력한다.
-r 패키지명 : 패키지를 제거하고 환경설정파일은 남겨둔다.
-P 패키지명 : 환경설정파일까지 전부 제거한다.
-S 패키지명 : 해당 파일을 설치한 패키지 이름을 출력한다.
-C : 완전히 설치되지 않은 패키지에 대한 검사를 한다.
-s 패키지명 : 패키지에 대한 상태를 출력한다.
-Z : compress 관련 옵션으로 예전 UNIX 계열 표준 압축 파일인 tar.Z 에 사용한다.
-J : xz 관련 옵션으로 압축 파일인 tar.xz 에 사용한다.
-z : gzip 관련 옵션으로 압축 파일인 tar.gz 에 사용한다.
-j : bzip2 관련 옵션으로 압축 파일은 tar.bz2 에 사용한다.
/etc/hosts : DNS 서버를 사용하기 이전에 많이 이용된 파일로 IP 주소와 호스트명을 매핑시켜 데이터베이스처럼 사용하는 파일. 자주 이용하는 IP 주소에 별칭을 설정하여 접속을 쉽게 할 수 있다.
groupmod
그룹명이나 GID를 변경할 때 사용하는 명령이다.
사용법
# groupmod [option] 그룹명
주요 옵션
-n : 그룹의 이름을 변경한다.
-g : 그룹의 GID를 변경한다.
사용예
# groupmod -n ihd kait
kait 라는 그룹의 이름을 ihd 로 변경한다.
# groupmod -g 555 ihd
ihd 라는 그룹의 GID 를 555로 변경한다.
파일
r : 파일의 내용을 볼 수 있는 권한
w : 파일의 내용을 수정할 수 있는 권한
x : 실행 파일을 실행시킬 수 있는 권한
디렉터리
r : 디렉터리 내부의 내용을 볼 수 있는 권한
w : 디렉터리 내부에 파일을 생성 또는 삭제할 수 있는 권한
x : 디렉터리 내부로 접근할 수 있는 권한
lp : 프린트를 위한 장치이름
lp
System V 계열에서 사용하는 인쇄 명령으로 BSD 계열의 lpr 명령과 유사하다
사용법
# lp [option] [파일명]
주요 옵션
-d : 다른 프린터를 지정한다.
-n : 인쇄할 매수를 지정한다.
ex)
# lp -n 2 /etc/passwd
/etc/passwd 의 내용을 2매 출력한다.
커널 컴파일 순서
1. 커널 소스 파일 압축해제
2. 커널 소스의 설정값 초기화(make mrproper)
3. 커널 컴파일 옵션 설정 작업(make menuconfig)
4. 커널 이미지 파일 생성 작업(make bzImage)
5. 커널 모듈 생성을 위한 컴파일 작업(make modules)
6. 커널 모듈 설치 작업(make modules install)
7. 커널 모듈 파일 복사, grub.conf 파일 수정(make install)
8. 새로운 커널 사용을 위한 시스템 재부팅
lspci
시스템의 모든 PCI BUS와 장치에 대한 목록과 각개 하드웨어 설정 정보를 확인할 수 있는 명령어
기본적인 하드웨어 정보가 출력된다.
modprobe
리눅스 커널에 모듈을 적재하거나 제거하는 명령이다. ismod 나 rmmod 명령은 다른 모듈에 의존되어 있는 경우에는 사용 불가하나 modporbe 는 단일 모듈, 의존성이 있는 여러 모듈, 특정 디렉터리의 모든 모듈들을 적재할 수 있다. 아우러 모듈에 ‘기호=값’ 형식을 이용하여 매개 변수를 전달할 수 있다. 만일 모듈이 다른 모듈에 의존하고 있을 경우 필요한 모듈을 먼저 적재한다. 이 명령어는 최상위 모듈 디렉터리에 존재하는 modules.dep 파일을 참고해 모듈간의 의존성을 해결한다.
사용법
# modporbe [option] 모듈 [기호=값]
주요 옵션
-l : 사용 가능한 모듈 정보를 출력한다.
-r : 모듈을 제거할 때 사용하는 옵션으로 의존성이 있는 모듈들을 찾아서 사용되지 않는다면 자동으로 제거한다.
-c : 모듈 관련 환경 설정 파일의 내용을 전부 출력한다.
631 : 인터넷 기반으로 연결된 프린터에 접근할 때 사용하는 포트번호
ALAS( Advanced Linux Sound Architercture ) 고급 리눅스 사운드 아키텍쳐
ALSA 는 사운드 카드용 장치 드라이버를 제공하기 위한 리눅스 커널의 요소이자 프레임워크
GPL 및 LGPL 라이선스 기반으로 배포되고 있어서 대부분의 리눅스 배포판에 기본적으로 내장되어 있다.
OSS(Open Sound System, 오픈 사운드 시스템) 유닉스 및 유닉스 계열 운영 체제의 사운드를 만들고 캡처하는 인터페이스
modules.dep : 모듈 의존성 파일
모듈 간의 의존성을 기록한 파일로 ‘/lib/modules/커널버전’ 디렉터리 안에 위치한다.
lpc : 라인 프린터 컨트롤 프로그램 으로 프린터나 프린터 큐를 제어할 때 사용.
lpstat : 프린터 큐의 상태를 출력 해주는 명령. 프린터 작업 상태를 확인할 수 있는 명령
rsync(remote synchronous)
네트워크로 연결된 원격지의 파일들을 동기화하는 유틸리티로 예전에 사용하던 rcp(remotecopy)에 비해 처리속도가 빠르고 다음과 같은 기능을 제공한다.
1) 링크된 파일이나 디바이스 파일도 복사 가능하고, 그룹을 포함한 소유권 및 허가권도 유지하여 복사할 수 있다.
2) GNU tar 와 유사한 욥션을 사용하며, 특정한 부분만 백업할 수 있다.
3) CVS 의 exclude 모드처럼 같은 파일들은 제외할 수 있다.
4) ssh 나 rsh 을 이용하여 전송 가능하고 root 권한이 필요하지 않다.
5) 내부 파이프라인을 통하여 전송기간을 줄인다.
6) 익명(anonymous) 사용자 및 인증된 사용자를 지원하여 미러링(mirroring)에 이상적이다.
7) 로컬 시스템의 백업 시에는 별다른 서버 설정 없이 사용이 가능하다.
dd(data dumper)
파티션이나 디스크 단위로 백업할 때 사용하는 유틸리티로 사용하기는 쉬우나 많은 시간이 소요된다.
22 : SSH 에 사용
23 : TELNET 에 사용
PAM
사용자를 인증하고 그 사용자의 서비스에 대한 접근을 제어하는 모듈화된 방법을 말한다.
[PAM] 설정 파일의 구성
type control module_name module-arguments
1) type : PAM 에 어떤 타입의 인증이 사용될 것인지를 알려주는 항목
account : 사용자가 해당 서비스에 접근이 허용되는지 여부, 패스워드 기간 만료 여부를 검사한다.
auth : 기본적으로 패스워드를 통해 인증하지만, 생체인증과 같이 다른 인증을 통해 자신임을 주장하는 사용자가 맞는지를 검사한다.
password : 사용자가 그들의 인증 방법을 변경하도록 할 때 제공하는 방법으로 기본적인 것은 패스워드를 사용한다.
session : 사용자가 인증받기 전후에 해야할 것을 나타낸다. 사용자의 홈 디렉터리를 마운트/언마운트, 로그인/로그아웃 서비스 제한 등이 포함된다.
2) control : 통제를 담당하는 부분으로 PAM 에 무엇을 해야 할 지를 알려준다.
requisite : 이 모듈을 이용하는 인증이 실패할 경우 즉시 거부한다.
required : 인증이 거부되기 전에 비록 PAM이 이 서비스에 등록된 다른 모든 모듈들을 요구함에도 불구하고 실패할 경우에 인증을 거부한다.
sufficient : 비록 이전에 요청되어진 모듈이 실패하더라도 이 모듈에 의해서 인증이 성공할 경우에 인증을 승인한다.
optional : 서비스에 대한 응용 프로그램의 성공/실패가 중요하지 않다는 것을 의미하는 것으로 성공/실패 판단시에는 무시된다. 그라나 모듈에 대한 성공/실패가 없다면 이 모듈이 응용 프로그램에게 주는 결과로 결정한다.
inlcude : 이 항목 다음에는 모듈명 대신에 다른 PAM 관련 서비스가 오는데, 해당 서비스 인증을 통과해야 가능하도록 설정할 때 사용한다.
3) module_name : 사용하는 모듈명을 명기하는 부분으로 /lib/security 에 있는 모듈명을 기입한다.
4) module-arguments : 지정한 모듈이 사용하는 인수를 기입한다.
last
사용자의 로그인 정보, 재부팅한 정보는 /var/log/wtmp 파일에 저장하는데, 이 파일은 텍스트 파일이 아닌 바이너리 파일로 생성된다. 이 파일의 내용을 출력하는 명령이 last 이다.
사용법
$ last [option] [사용자명]
주요 옵션
-f 파일명 : 로그 로테이션 설정이 되어 있는 경우, 기본 로그 파일 이외에 다른 로그 파일의 기록을 볼 경우에 사용한다.
-t YYYYMMDDHHMMSS : 지정한 시간 이전에 로그인한 기록을 출력한다.
-n 숫자 : 가장 최근부터 해당 숫자값 만큼만 출력한다. (‘-숫자’와 같다.)
-R : IP주소나 호스트명을 출력하지 않는다.
-a : 호스트명이나 IP 주소 필드를 맨 마지막에 출력한다.
-d : 호스트 이름이 존재하는 경우 IP 주소를 호스트 이름으로 변환하여 출력한다.
-F : 로그인 및 로그아웃 시간을 출력한다.
-i : 접속한 호스트의 IP 주소로만 출력한다.
-w : 사용자 전체 이름이나 전체 도메인 이름을 전부 출력해 준다.
sudo
일반 사용자가 root 권한 획득을 위해 사용하는 명령으로 /etc/sudoers 에 설정된 유저가 사용하는 명령이다.
/etc/sudoers
sudo 의 환경 설정 파일로 특정 사용자에게 부여할 root 권한 명령을 지정한다. 이 파일은 보통 visudo 라는 명령을 이용해서 편집한다.
로그 관련 주요 파일
/var/log/messages : 시스템에서 발생하는 표준 메시지가 기록되는 파일
/var/log/secure : 인증에 기반한 접속과 관련된 로그가 기록되는 파일
/var/log/dmesg : 시스템이 부팅할 때 출력되었던 로그가 기록되는데 보통 커널 부트 메시지 로그 라고 한다.
/var/log/mailog : 메일 관련 작업이 기록되는 로그 파일
/var/log/xferlog : FTP 접속과 관련된 작업이 기록되는 파일
/var/log/cron : cron 관련 정보가 기록되는 파일
/var/log/boot.log : 부팅시 발생되는 메시지가 기록되는 파일
/var/log/lastlog : telnet 이나 ssh 를 이용해서 접속한 각 사용자의 마지막 정보가 기록되는 파일
/var/log/wtmp : 콘솔, 텔넷, ftp 등을 이용하여 접속한 사용자의 기록, 시스템 재부팅 기록등의 로그가 기록되는 파일
/var/log/btmp : wtmp 와 반대되는 로그로 접속이 실패한 경우를 기록한다.
last : /var/log/wtmp
mail.*;mail.!=info /var/log/mailog
mail 관련한 모든 정보는 /var/log/mailog 에 기록하고, info 수준의 로그는 제외한다.
rsyslog 의 개요
rsyslog 는 rsyslogd 데몬이 동작하면서 로그를 기록하고, 데몬의 동작은 /etc/rc.d/init.d/rsyslog 라는 스크립트를 이용한다. 관련 환경 설정은 /etc/rsyslog.conf 파일을 통해서 제어한다.
/etc/rsyslog.conf 파일
기본 구성 형식
facility.priority action
facility 는 일종의 서비스를 의미하는데, 메시지를 발생시키는 프로그램의 유형이라고 볼 수 있다. priority 는 위험의 정도를 나타내는데, 설정한 수준보다 높아야 메시지를 보낸다. 설정 값 앞에 = 을 사용할 경우에는 해당 레벨의 위험도와 같은 경우에만 메시지를 기록하고, ! 는 제외 시킬 때 사용한다. action 은 메시지를 보낼 목적지나 행동들에 관한 설정으로 보통 파일명을 적는다.
facility 의 종류
cron : cron, at 과 같은 스케줄링 프로그램이 발생한 메시지
auth, securily : login 과 같이 인증프로그램 유형이 발생한 메시지
authpriv : ssh 와 같이 이증이 필요한 프로그램 유형이 발생한 메시지로 사용자 추가 시에도 메시지가 발생함
deamon : telnet, ftp 등과 같이 여러 데몬이 발생한 메시지
kern : 커널이 발생한 메시지
lpr : 프린트 유형의 프로그램이 발생한 메시지
mail : mail 시스템이 발생한 메시지
mark : syslog 에 의해 만들어지는 날짜 유형
news : 유즈넷 뉴스 프로그램 유형이 발생한 메시지
syslog : syslog 프로그램 유형이 발생한 메시지
user : 사용자 프로세스
uudp : UUCP(UNIX to UNIX Copy Protocol) 시스템이 발생한 메시지
local0 ~ local7 : 여분으로 남겨둔 유형
* : 모든 facility 를 의미
priority 의 종류
none : 지정한 facility 를 제외. 보통 앞에 다른 facility 에 대한 설정을 하고 ; 뒤에 특정한 facility 를 제외할 때 사용
debug : 프로그램을 디버깅할 때 발생하는 메시지
info : 통계. 기본 정보 메시지
notice : 특별한 주의를 필요하나 에러는 아닌 메시지
warning, warn : 주의가 필요한 경고 메시지
error, err : 에러가 발생하는 경우의 메시지
crit : 크게 급하지는 않지만 시스템에 문제가 생기는 단계의 메시지
alert : 즉각적인 조정을 해야 하는 상황
emerg, panic : 모든 사용자들에게 전달해야 할 위험한 상황
action 의 종류
file : 지정한 파일에 로그를 기록
@host : 지정한 호스트로 메시지를 전달
user : 지정한 사용자가 로그인한 경우 해당 사용자의 터미널로 전달
* : 현재 로그인되어 있는 모든 사용자의 화면으로 전달
콘솔 또는 터미널 : 지정한 터미널로 메시지를 전달