본문 바로가기

NetWork

UBUNTU server 설치

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


1. 서버 설치 후 open ssh 설치 


설치된 패키지 목록을 확인하려면
$ dpkg -l



너무 많은 목록이 나오기 때문에 ssh 관련 목록만 확인해 보자.
$ dpkg -l |grep ssh

ii  openssh-client    1:5.8p1-7ubuntu1         secure shell (SSH) client, for secure access to remote machines

ii  ssh-import-id     2.5-0ubuntu2             securely retrieve an SSH public key and install it locally



설치되어 있지 않기 때문에.. 설치하러 고고~
$ sudo apt-get install openssh-server

패키지가 다운로드 되어 자동으로 설치되고 데몬이 동작한다.
>>> 설치 과정에 오류가 있다면 여길 참고 <<<


데몬이 잘 동작하는지 확인하자...ssh 기본 포트는 22이다.

$ netstat -ntl

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     

tcp6       0      0 :::22                   :::*                    LISTEN 


## ssh 서버 재시작
$ sudo /etc/init.d/ssh restart


## ssh포트변경
아래 파일을 열어서 포트를 변경하면 된다. 

$ sudo vi /etc/ssh/sshd_config 

# Package generated configuration file

# See the sshd_config(5) manpage for details


# What ports, IPs and protocols we listen for

Port 22

# Use these options to restrict which interfaces/protocols sshd will bind to

#ListenAddress ::

#ListenAddress 0.0.0.0


2, shell 변경


쉘(SHELL)이란 사용자가 입력한 명령어를 받아서 해석한 후에 리눅스 커널에게 전달하는 역할을 한다. 흔히 "쉘은 어떻게 생겼습니까?", "쉘은 어디에 있습니까?"라고 쉘에 대한 구체적인 형상을 제시해 달라는 질문을 많이 받습니다. 

굳이 쉘(shell)을 보여달다고 한다면 흔히 리눅스로 로그인해서 볼 수 있는 쉘프롬프트(shell prompt)가 우리가 볼 수 있는 쉘의 모양 전부입니다. 하지만, 이것이 쉘(shell)의 전부는 아닙니다. 아주 극히 일부일 뿐입니다. 

즉, 쉘(shell)은 우리 눈으로는 잘 볼 수 없지만, 우리가 입력한 명령어를 해석하여 리눅스 커널에 전달하는 역할을 하므로 커널(kernel)과 사용자(user) 사이에 존재하며 의사소통의 역할을 해주는 것이라고 할 수 있습니다. 

쉘의 종류에는  /bin/bash,   /bin/sh,   /bin/ash,   /bin/bsh,   /bin/bash2, /bin/tcsh,  /bin/csh,    /bin/ksh,  /bin/zsh과 같은 것들이 있습니다.

리눅스의 기본쉘은 bash(Born Again SHell, "배시쉘"이라고 부름)이라고 하는 것입니다. 

그런데 리눅스의 쉘에는 bash만 있는 것이 아니고 위의 종류를 보신바와 같이 sh(Born Shell), csh(C Shell), ksh(Korn Shell)등 여러가지가 있습니다.

따라서 여러가지 쉘중에서 사용자가 로그인했을 때 기본적으로 사용하는 쉘이 반드시 한개 지정이 되어 있으며 사용하는 도중에도 쉘의 변경이 가능합니다. 

또한 로그인할때에 기본으로 사용할 쉘도 변경이 가능합니다.

chsh는 "CHange SHell"의 약어로서 사용자가 기본으로 사용하는 쉘의 종류, 즉 로그인시에 기본적으로 사용되는 쉘의 종류를 변경하고자 할 때에 사용하는 명령어입니다.

이 기본사용쉘은 /etc/passwd의 마지막 필드에 지정되어 있습니다. 
chsh로 기본사용쉘을 변경하게 되면 /etc/passwd의 마지막 필드에 변경될 쉘이 바뀌게 됩니다. 

사용예

먼저 /etc/passwd에서  bible이라는 사용자의 기본사용쉘을 확인합니다. 

[bible@host1 bible]$ cat /etc/passwd | grep bible
bible:x:500:500:SungSoo:/home/bible:/bin/bash
[bible@host1 bible]$

위의 예는 bible이라는 사용자의 기본사용쉘인 /bin/bash를 확인한 것입니다.

 

그리고 chsh를 이용하여 bible이라는 사용자의 기본사용쉘을 변경한 것입니다. 

[bible@host1 bible]$ chsh
Changing shell for bible.
Password:
New shell [/bin/bash]: /bin/csh
Shell changed.
[bible@host1 bible]$

위에서 bible이라는 사용자는 /bin/bash (Bash Shell)를 기본사용쉘로 사용하고 있었으나 /bin/csh (C shell)로 변경한 것입니다.  위의 예에서 보신바와 같이 자기자신의 사용쉘을 변경할 경우에도 자기자신의 패스워드를 입력해 주어야합니다. 

이렇게 변경이 되고 난 이후 부터는 로그인 할때마다 Bash Shell 대신에 C Shell을 사용하게 될 것입니다. 

변경되고 난 이후에 변경전에 확인했던 바와 같이 /etc/passwd 파일에서 bible이라는 사용자의 기본사용쉘을 확인하였습니다.

[bible@host1 bible]$ cat /etc/passwd | grep bible
bible:x:500:500:SungSoo:/home/bible:/bin/csh
[bible@host1 bible]$

위의 결과를 보신바와 같이 bible이라는 사용자의 기본사용쉘이 /bin/bash (Bash Shell)에서 /bin/csh (C shell)로 변경되어 있는 것을 보실 수 있습니다. 

다음과 같이 간단히 -s이라는 옵션을 사용하여 변경할 수도 있습니다. 

[bible@host1 ~]$ 
[bible@host1 ~]$ chsh -s /bin/bash
Changing shell for bible.
Password: 
Shell changed.
[bible@host1 ~]$

또한 다음과 같이 -l 이라는 옵션을 사용하시면 현재의 리눅스서버에서 사용자가 사용가능한 쉘(Shell)의 종류를 확인할 수 있습니다.

[bible@host1 ~]$ chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/bin/bash2
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
[bible@host1 ~]$

이것은 /etc/shelle 파일의 내용을 그대로 보여주는 것에 불과합니다. 
다음의 예를 보시기 바랍니다. 

[bible@host1 ~]$ cat /etc/shells 
/bin/sh
/bin/bash
/sbin/nologin
/bin/bash2
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
[bible@host1 ~]$

위의 두 결과가 같습니다. 
즉, "chsh -l"이라는 명령어는 /etc/shells라는 파일에 있는 쉘의 종류를 표시해주는 명령어입니다.  따라서 /etc/shells에는 현재 리눅스 시스템에서 사용가능한 쉘의 종류가 들어 있습니다. 

참고로 현재 사용중인 쉘을 확인하려면 "echo $SHELL"이라고 해보시면 됩니다. 즉 쉘환경변수인 "SHELL"에는 현재 사용중인 쉘의 종류가 저장되어 있습니다. 

다음은 현재 사용중인 쉘의 종류를 확인한 것입니다.

[bible@host1 bible]$ echo $SHELL
/bin/bash
[bible@host1 bible]$

현재 bible이라는 사용자는 /bin/bash즉 Bash Shell을 사용중에 있습니다. 


3. root(관리자) 권한 얻기

대부분의 경우에 root로 로그인할 필요는 없다.

gsku nautilus 명령어로 gui탐색도 가능하고, 터미널에서 ‘sudo 명령어’ 이렇게 쓰면 root권한으로 명령도 내릴 수 있다.

다만, 터미널에서 아예 root 권한을 얻어 돌아다니고 싶을 경우(즉, sudo 자꾸 치기 귀찮은 경우)는 아래와 같은 방법을 따른다.

터미널에서 su root로 루트권한을 얻을 수도 있다.

다만, sudo passwd root로 root패스워드를 한 번 설정해야 권한을 얻을 수 있을 것이다.

아래 설명은 root로 아예 로그인하는 방법이다.

http://ubuntu.or.kr/viewtopic.php?f=10&t=4263

1] root 관리자 권한 얻기

초기 시스템 관리자로 root 계정은 만들어져 있으나 패스워드 설정은 되어 있지 않다.

1. 터미널에서 ‘sudo passwd root’입력

2. 패스워드 물으면 제 계정 암호(처음에 만들때 썼던거)입력

3. 새로운 패스워드를 입력

4. su root로 루트권한을 얻음.

5.시스템-관리-로그인창-보안에서 로컬 시스템 관리자 로그인 허용에 V 표시를 한다.

6. root 로그인할 때 언어 설정도 한글로 바꾼다.

7.터미널 창에서 root 계정 켜기 sudo -s


'NetWork' 카테고리의 다른 글

Linux(리눅스) 계정 관리(추가,수정,삭제)  (0) 2013.10.15
우분투(Ubuntu) 서버 네트워크 설정  (0) 2013.09.27
REST  (0) 2013.05.06
NoSQL이란 무엇인가?  (0) 2013.05.03
SOAP이냐 REST이냐  (0) 2013.01.09