bookmark_borderLinux screen 사용하기

원격에서 작업하다 보면 여러창을 보고 싶을때가 많습니다.
이럴때 보통 여러개의 터미널을 띄워서 사용 합니다.
그런데 창을 여러개 띄우고 왔다 갔다 하려다 보면 클릭하기도 귀찮고 헤깔리기도 하죠.. 후후.
이럴때 screen 명령을 사용 해보면 많은 도움이 될것입니다.

screen 은 한 터미널로 한번만 로그인 한후에 여러 쉘과 프로그램을 사용할 수 있습니다.
또한 세션관리 기능도 지원 한답니다.
그래서 screen 을 종료하고 심지어 터미널까지 로그아웃하고 종료 하여도 세션이 유지 되고 있습니다.
다음에 다시 터미널로 로그인후 screen으로 세션을 불러와서 다시 이전 작업을 이어서 할 수 있습니다.

nohup 으로 프로그램을 실행 시킬 필요도 없겠죠.. 훗..
이제 nohup 은 꼭 필요 할때만 사용하시고 screen 을 애용해보면 어떨까요..?. 하하.

또한 문서작업이나 텍스트 작업 프로그래밍 작업시 screen 과 vim을 함께 사용하면 좋은 궁합이 될것입니다.

여러분도 꼭 한번 사용 해보시라고 권해 봅니다.
(참고 : screen 은 일종의 가상 터미널 내지는 가상 콘솔이라고 보면 될 것 같습니다.)

그럼 screen 명령에 대한 설명을 시작 합니다.
1. 쉘모드 명령어
screen
: screen 을 시작 하는 기본 명령입니다.
: 기본 세션명으로 시작합니다.
screen -S 세션명
: -S 다음에 주는 세션명으로 시작합니다.
screen -list
: -list 옵션을 주고 실행하면 이전에 작업했었던 screen 리스트가 있으면 세션명과 함께 리스트를 보여줍니다.
screen -R 세션명
: 이전에 세션이 있을 경우 -R 다음에 오는 세션명으로 이전 작업을 불러옵니다.
: -R 다음에 세션명을 주지 않았을 경우에는 이전 세션이 한개만 있을 경우 그 작업을 불러옵니다.
: 이전 작업이 여러개 있을 경우에는 이전 작업 리스트를 보여줍니다.
: 이 경우에는 원하는 세션명을 주고 시작 하면 되겠죠. ^__^

2. screen 실행후 명령어
screen 실행후의 명령어는 Ctrl-a로 시작합니다:

Ctrl-a, c : (create) 새로운 쉘이 생기면서 그 쉘로 이동
Ctrl-a, a : 바로 전 창으로 이동
Ctrl-a, n : (next) 다음 창으로 이동
Ctrl-a, p : (previous) 이전 창으로 이동
Ctrl-a, 숫자 : 숫자에 해당하는 창으로 이동
Ctrl-a, ‘ : 창번호 또는 창이름으로 이동 ( ‘ => 싱글 쿼테이션 )
Ctrl-a, ” : 창번호를 보여준다. ( ” => 더블 쿼테이션 )
Ctrl-a, A : 현재 창의 title을 수정
Ctrl-a, w : 창 리스트 보여주기
Ctrl-a, esc : Copy 모드로 전환. Copy 모드에서는 vi의 이동키로 이동을 할 수 있다.
Crtl-a, [ 커서 이동을 할 수 있고 특정 블럭을 복사하는 기능으로 사용한다.
먼저 시작 위치에서 space 바를 누르고 끝 위치에서 space 바를 누르면 해당 부분이 buffer로 복사된다.
Ctrl-a, ] : buffer의 내용을 stdin으로 쏟아 넣는다.
이 기능은 vi의 입력모드에서 사용하면 유용하다.
Ctrl-a, :(콜론) : 명령행 모드로 전환
Ctrl-a, d : (detach) 현재 작업을 유지하면서 screen 세션에서 빠져나옴
세션이 종료 되지 않습니다.
Ctrl-a, x : lock screen

아래 부분은 창을 나눠서 사용하는 명령입니다.

Ctrl-a, S : (split) 창을 나눔 (region)
Ctrl-a, Tab : 다른 region으로 이동
Ctrl-a, Q : 현재 region을 제외한 나머지 숨기기

그리고 마지막 명령으로 세션을 완전히 빠져 나오는 명령입니다.

exit : screen 의 쉘상에서 exit 를 치고 엔터를 하면 세션이 완전히 종료 됩니다.

이상 위의 명령어 들만 알고 있으면 screen 사용시 불편하지 않게 screen 을 사용 할 수 있을 겁니다.

참 고
다른 사용자 분들의 의견을 보면 screen 화면을 2, 3 개정도 띄우고 사용하는게 가장 적당하다고 합니다.
4개 이상 띄우고 사용하다보면 불편하다고 하네요.
여러분들은 어느정도가 적당한지 한번 사용해보시고 판단 하시기 바랍니다.

기타 더욱 자세한 내용을 아시고 싶으시면 man 페이지나 /usr/doc/screen 을 참고하시기 바랍니다.

참고 : KLTP( http://kltp.kldp.org/ )
리눅스 사랑넷 ( http://linux-sarang.net )
[출처] [리눅스] screen 사용법|작성자 내생애마지막다이어트

bookmark_borderCentOS 방화벽에서 port 열기

* 8080 port 를 연다고 가정하면,

1. root 로 switch user
[user@test ~]$ su –
암호:
[root@test ~]#

2. /etc/sysconfig/iptables 파일 열기 & 수정
[root@test ~]# vi /etc/sysconfig/iptables

열고자 하는 포트를 아래 라인과 같이 추가. (8080 포트 열기)
-A INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT

3. iptables restart – 아래 명령 사용.
[root@test ~]# service iptables restart
또는
[root@test ~]# /etc/init.d/iptables restart

bookmark_border스팸메일을 방지하기 위한 Sendmail Relay 설정

스팸메일을 방지하기 위한 Sendmail Relay 설정

relay를 방지하기 위해 sendmail.cf 을 다시 작성해줍니다.
sendmail.cf는 m4를 사용해서 만들면 됩니다.

예를 들어, /tmp/sendmail-8.11.0에 소스가 설치되어 있다면,

/tmp/sendmail-8.11.0/cf/cf 에 각 OS에 맞는 mc파일이 있습니다.
자신의 시스템에 가장 적당한 mc파일을 선택합니다.

예전 sendmail 버전 경우 리눅스의 mc파일이 없습니다.
직접 vi 에디터로 mc파일을 만듭니다.

—– linux.mc 내용 ———

divert(0)dnl
VERSIONID(`$Id: generic-linux.mc,v 8.1 1999/09/24 22:48:05 gshapiro Exp $’)
OSTYPE(linux)dnl
DOMAIN(generic)dnl
MAILER(local)dnl
MAILER(smtp)dnl
FEATURE(`access_db’, `dbm /etc/mail/access.db’)
—————————–

linux.mc 파일을 이용해서 sendmail.cf파일을 생성합니다.

# /tmp/sendmail-8.11.0/cf/cf$ m4 ../m4/cf.m4 linux.mc > sendmail.cf

sendmail.cf를 /etc/mail에 복사한후 /etc/sendmail.cf를 /etc/mail/sendmail.cf로 심볼릭링크를 생성합니다
(ln -s /etc/mail/sendmail.cf /etc/sendmail.cf)

/etc/mail/access 설정

스팸메일을 방지하기 위해 Relay를 허용할 호스트의 IP와 도메인을 설정하는 중요한 파일입니다.
먼저 vi에디터나 emacs를 사용해 /etc/mail/access파일을 열고 릴레이를 허용하거나 거부할 IP를 아래와 같이 입력합니다.

——- access 내용 ———–
localhost.localdomain RELAY

localhost RELAY ( 호스트와 RELAY를 Tab키로 띄워줍니다.)

127.0.0.1 RELAY

203.243.15 RELAY

spam.com REJECT

—————————-

이와 같이 설정한 후에는 아래의 명령으로 DB파일(access.db)을 만들어 줍니다.

#cd /etc/mail
#makemap hash access < access 위의 작업은 access파일을 수정할 때마다 해주어야 하며, sendmail을 다시 시작할 필요는 없습니다. access 내용설명 203.243.88 RELAY -> 203.243.88 네트워크에 속하는 C클래스의 IP주소에 대해서는 메일을 [보내기/받기]를 할 수 있지만 다른 IP주소에서는 메일을 받을 수만 있습니다.
spam.com REJECT -> spam.com 도메인에 속한 모든 호스트에서 오는 메일은 완전히 거부됩니다.

[Relay란?]

예를 들어 A라는 사람은 IP주소가 203.245.15.5 컴퓨터에서help@hitel.net이라는 메일을 사용한다고 가정하고, B라는 사람은 IP주소가 211.47.45.8인 컴퓨터에서me@hitel.net이라는 메일을 사용한다고 가정합니다.

B가 A에게 메일을 보내면 메일은 203.245.15.5로 가는 것이 아니라 mail.hitel.net서버의 /var/mail 디렉토리 밑에 help라는 파일로 복사가 됩니다. 그러면 A는 MUA 프로그램을 사용해 메일을 확인할 수 있습니다.

그런데 여기서 중대한 문제점이 생겨나게 됩니다. 아무나 주소를 맞게 보내면 그냥/var/mail에 쌓이게 되는 것이죠.
그래서 하드디스크가 메일로 꽉 차버리거나, 네트워크 전송량의 증가로 네트워크가 마비되는 경우가 생겨나게됩니다.
이 문제를 막기 위해서 고안도니 방법이 바로 Relay라는 방법입니다.

Relay로 주로 쓰이는 방법은 메일을 확인하는 컴퓨터는 제한하지 않고 메일을 보내는 것을 제한하는 것입니다.
즉, 위의 그림과 같이 /etc/mail/access파일에 203.245.15의 C클래스를 허용 가능하게 해주면 203.245.15.5처럼 허용 그룹에 들어 있는 컴퓨터에서는 메일을 보내고/받을 수가 있지만, 그룹에 들지 않은 211.47.45.8라는 컴퓨터에서는 메일을 확인할 수만 있습니다.
또한 spam.com이라는 도메인에 속한 호스트에서 오는 메일은 보내기와 받기가 모두 거부됩니다.

/etc/mail/relay-domains을 사용해도 됩니다. 하지만, 차이점은 relay-domains을 사용하면 sendmail데몬을 다시 실행시켜 주어야 하지만 /etc/mail/access파일을 사용하면 다시 실행할 필요 없이
makemap hash /etc/mail/access < /etc/mail/access라고 실행만 시켜두면 됩니다.