PermitRootLogin 항목을 찾아서 no 로 바꿔준다. (없으면 생성 'PermitRootLogin no')
$ sudo /etc/init.d/ssh restart
2. 일반사용자 접속제한- 기본적으로 ssh는 모든 사용자의 ssh접속을 허용한다.
$ sudo vi /etc/ssh/sshd_config
하기 항목 중 필요한 항목 생성 및 수정 AllowGroups : 해당 그룹에 속한 사용자만 접속할 수 있다. AllowUsers : 열거한 사용자만 접속할 수 있다. DenyGroups : 전체 사용자의 접속을 허용하고 명시된 그룹은 접속에서 제외된다. DenyUsers : 전체 사용자의 접속을 허용하고 명시된 유저의 접속은 제외된다. 해당 그룹, 유저는 space로 구분한다.
예) 모든 유저의 접속을 허락하고 windog 와 dny 라는 유저의 접속을 막는다. $ sudo vi /etc/ssh/sshd_config DenyUsers windog dny
최초 우분투 설치시 아이피를 동적 할당 방식으로 설치한 경우 networking(/etc/network/interfaces) 데몬이 구동되는 상태입니다. 이 경우 고정 아이피 설정이 어렵더군요. 일부에선 데스크탑 버전에서만 그렇다고 하네요. (여러 블로거들이 조언에도 불구하고 잘 안됐어요. ㅜㅜ)
networking 대신 GUI 인터페이스인 네트워크 도구로 대체하면 가능합니다.
/etc/init.d/networking stop 커맨드 입력 후 패널의 '시스템/관리/네트워크도구'를 통해 설정하시면 됩니다. 'IPv4' 항목에서 아이피, 넷마스크, 게이트웨이, DNS서버 내용을 입력하고 "모든
사용자가 사용할 수 있음"이란 옵션과 "자동으로 연결" 옵션을 체크하면 부팅할 때 바로 연결될 겁니다.
추후 다시 networking(/etc/network/interfaces)를 사용해야 할 경우 아래와 같이 커맨드 입력하세요. /etd/init.d/NetworkManager stop /etc/init.d/networking restart
52번 째 줄 부분 (변경 전) if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' fi
(변경 후) if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\W\ $\[\033[00m\] ' else PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\W\ $\[\033[00m\] ' fi
루트계정 홈 디렉토리에 있는 .bashrc 파일 수정
52번 째 줄 부분 (변경 전) if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' fi unset color_prompt force_color_prompt
(한 줄 추가하여 변경 후) if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' fi unset color_prompt force_color_prompt
Daniel Robbins는 Gentoo Technologies, inc.의 CEO이다. PC용 고급 Linux인 Gentoo Linux의
창설자이자, 차세대 Linux 포트 시스템인 Portage 시스템의 창시자이다. 또한 Macmillan사에서 출판하는
Caldera OpenLinux Unleashed, SuSE Linux Unleashed, Samba Unleashed 등에
기고활동을 하고 있다.
요약: 쉘 프롬프트를 다양한 컬러와 풍성한 정보로 꾸밀 수 있는데 왜 지루한 표준 쉘을 고수하는가? Daniel
Robbins는 각자가 원하는 방식으로 쉘 프롬프트를 만드는 방법을 설명한다. 뿐만 아니라 X 터미널의 타이틀바를 동적으로
업데이트 하는 방법도 설명한다.
원문 게재일: 2000 년 9 월 01 일 난이도: 초급 페이지뷰: 199 회 의견:0 (의견 추가)
평균 평가 등급 (총 2표)
리눅스/유닉스 사용자들이라면, 많은 시간 쉘에서 작업을 한다:
bash-2.04$
여러분이 root라면, "prestige" 버전을 사용할 수 있을 것이다:
bash-2.04#
이러한 프롬프트들은 솔직히 말해서 별로다. 많은 리눅스 배포판들이 색상과 부팅 정보를 추가하여 디폴트 프롬프트를 업그레이드
한다는 것은 이상한 일이 아니다. 배포판에 멋지고 다양한 색상의 프롬프트가 있지만 완벽하지는 않다. 몇 개의 색상을 추가하거나
변경하거나 또는 프롬프트 그 자체에서 정보를 추가하거나 제거하고 싶을 것이다. 자신만의 색깔을 입히고 트릭을 가한 프롬프트를
만드는 것은 어렵지 않다.
변경 즉시 효력이 나타나고, ~/.bashrc 파일에 "export" 정의를 주어서 영구적인 것으로 할 수 있다. PS1에는 여러분도 좋아할 만한 플레인 텍스트가 포함되어 있다:
$ export PS1="This is my super prompt > " This is my super prompt >
많은 정적 텍스트를 갖고 있는 프롬프트를 유용하지 않다. 대부분의 커스톰 프롬프트에는 현재의 사용자 이름, 작업중인
디렉토리, 호스트 이름 같은 정보가 포함되어 있다. 이러한 정보들은 쉘 내부를 탐구하는데 도움이 된다. 예를 들어, 다음의
프롬프트는 사용자 이름과 호스트 이름을 디스플레이 한다:
$ export PS1="\u@\H > " drobbins@freebox >
이 프롬프트는 특별히 다양한 계정으로 다양한 머신에 로그인하는 사람들에게 편리하다. 어떤 머신을 실제로 사용하고 있고 현재 어떤 권한을 가지고 있는지를 알려주는 리마인더(reminder)로서 작용하기 때문이다.
위 예제에서, 배쉬에게 사용자 이름과 호스트 이름을 프롬프트로 인서트하라고 명령했다. 특별한 백슬래쉬-이스케이프 문자
시퀀스를 사용했다. 다음은 배쉬가 인식하는 모든 시퀀스 리스트이다 (배쉬 맨 페이지의 "PROMPTING" 섹션에서 리스트를 찾을
수 있다.):
시퀀스
설명
\a
ASCII bell 문자 (\007)
\d
"Wed Sep 06" 의 날짜(date)
\e
ASCII escape 문자 (\033)
\h
호스트 이름의 첫 번째 부분( "mybox")
\H
전체 호스트 이름 ("mybox.mydomain.com")
\j
^Z를 눌러서 쉘에서 중지시킨 프로세스의 수
\l
쉘의 터미널 디바이스의 이름 ("ttyp4")
\n
Newline
\r
캐리지 리턴
\s
쉘 실행파일의 이름 ("bash")
\t
24 시간 포맷의 시간 ("23:01:01")
\T
12 시간 포맷의 시간 ("11:01:01")
\@
am/pm이 있는 12시간 포맷
\u
사용자 이름
\v
배쉬 버전 (2.04)
\V
패치 레벨이 포함된 배쉬 버전
\w
현재 작업중인 디렉토리 ( "/home/drobbins")
\W
현재 작업중인 디렉토리의 "basename" ("drobbins")
\!
히스토리 버퍼에서의 현재 명령어 포지션
\#
명령어 넘버
\$
root가 아닐 경우, "$"를 삽입하라; root라면, "#"를 얻는다
\xxx
세자리 숫자 xxx에 근거한 ASCII 문자를 삽입한다. ("\007"처럼 사용되지 않은 숫자는 0으로 대체한다.)
\\
백슬래쉬
\[
커서를 움직이지 않는 문자 시퀀스 앞에 위치한다. 배쉬가 단어 래핑을 정확히 수행할 수 있도록 한다.
색깔 추가는 쉽다; 첫 번째 단계는 컬러 없이 프롬프트를 디자인 하는 것이다. 그런 다음에는 터미널(배쉬가 아닌)에 의해서
인식될 특별한 이스케이프 시퀀스를 추가한다. 표준 리눅스 터미널과 X 터미널로 foreground (text) 컬러와
background 컬러를 설정할 수 있다. 그리고 원한다면 볼드(bold) 문자도 가능하다. 8개의 컬러를 선택할 수 있다.
컬러는 PS1에 특별한 시퀀스를 추가함으로서 선택된다. 기본적으로 "\e["와 "m"사이에 숫자를 넣는다. 숫자 코드를 하나 이상 지정하려면 세미 콜론으로 각 코드를 구별해야 한다. 다음은 컬러 코드 예제이다:
"\e[0m"
숫자 코드로 0을 지정 할 때 이것은 터미널에게 디폴트 값으로 foreground, background, 볼드 세팅을 재설정하도록 명령한다. 이제 컬러 코드들을 살펴보자:
이 챠트를 사용하기 위해서, 사용하기 원하는 컬러를 찾고 그에 해당하는 foreground (30-37)와
background(40-47) 숫자들을 찾는다. 예를 들어, 일반적인 검정색 background에 녹색을 원하면 숫자는 32와
40이다. 그리고나서, 프롬프트를 정의하고 적당한 컬러 코드를 추가한다:
export PS1="\w> "
는 다음과 같이 된다:
export PS1="\e[32;40m\w> "
지금까지는 좋았다. 아직까지는 완벽하지 않다. 배쉬가 작업중인 디렉토리를 프린트 한 후에 "\e[0m" 시퀀스로 다시 컬러를 정상적으로 세팅해야한다:
export PS1="\e[32;40m\w> \e[0m"
이 정의는 보기 좋은 녹색 프롬프트를 만들것이다. 하지만 몇 가지 마무리 손질을 해야 한다. 40의 백그라운드 컬러 세팅을
포함 할 필요가 없다. 이것은 디폴트 컬러인 검정으로 백그라운드를 세팅하기 때문이다. 또한 녹색은 매우 희미하다; 컬러 코드
"1" 을 추가하여 이것을 픽스할 수 있다. 색깔이 더욱 밝아지고 볼드 텍스트가 된다. 이러한 변화에 더하여, 모든
non-printing 문자들을 배쉬 이스케이프 시퀀스 (\[와 \])안에 넣어야 한다. 이러한 시퀀스들은 배쉬에게 괄호안에 있는
문자들이 라인에서 공간을 차지하지 않도록 명령한다. 다음은 최종 프롬프트이다:
이것은 위의 스크린샷에 사용했던 프롬프트이다. 이 프롬프트가 개인적으로 마음에 든다. 왜냐하면 이것은 모든 정보를 터미널이
아닌 타이틀바에 놓았기 때문이다. 타이틀바 시퀀스를 "\[" 과 "\]" 안에 반드시 넣어야 한다. 터미널이 관련되어 있는한 이
시퀀스는 "non-printing"이기 때문이다. 많은 정보를 타이틀바에 넣을 때의 문제점은, 시스템 콘솔처럼 "비
그래픽(non-graphical)" 터미널을 사용한다면 정보를 볼 수 없다는 것이다. 이러한 문제를 픽스하기 위해 .bashrc에
다음과 같은 것을 추가할 수 있다:
if [ "$TERM" = "linux" ] then #we're on the system console or maybe telnetting in export PS1="\[\e[32;1m\]\u@\H > \[\e[0m\]" else #we're not on the console, assume an xterm export PS1="\[\e]2;\u@\H \w\a\e[32;1m\]>\[\e[0m\] " fi
배쉬 조건문은 현재 터미널 세팅에 기초하여 프롬프트를 동적으로 설정할 것이다. ~/.bash_profile을 설정하여 시작할
때 ~/.bashrc을 소싱하도록 한다. 다음의 라인은 반드시 ~/.bash_profile에 있어야 한다:
이것으로 인해 로그인 쉘이나 비 로그인 쉘 중 어떤 것으로 시작하든지 같은 프롬프트 세팅이 된다.
Daniel Robbins는 Gentoo Technologies, inc.의 CEO이다. PC용 고급 Linux인 Gentoo Linux의
창설자이자, 차세대 Linux 포트 시스템인 Portage 시스템의 창시자이다. 또한 Macmillan사에서 출판하는
Caldera OpenLinux Unleashed, SuSE Linux Unleashed, Samba Unleashed 등에
기고활동을 하고 있다.