서버관리자를 위한 안내서 - 명령어

 

서버를 활용함에 있어서 우리는 여러 명령어를 통해 서버를 제어해야 합니다. 자주 활용되는 명령어들을 틈틈이 정리하고 있습니다. Ubuntu를 중심으로 서술을 진행하고자 합니다.

프로그램의 추가와 제거

다들 Windows 기반 환경에 대해서는 익숙하지만, 프로그램 설치의 경우 각 프로그램의 사이트에 들어가서 exe를 다운받아 실행하는 번거로운 과정을 거칠 것이다. 그렇지만 Mac 기반 환경을 사용한다면 brew install을 통해서 필요한 프로그램을 한 줄의 명령으로 설치할 수 있는 편리함이 있다. 비슷하게 Ubuntu에서도 apt를 통해 설치를 할 수 있다. 그리고 이러한 설치를 위한 의존성도 자동으로 해결하는 장점이 있다.

  1. 패키지의 설치 apt install <package_name>
  2. 패키지의 제거 apt remove <package_name>
  3. 패키지 목록의 업데이트 apt update

패키지 설치의 경우 서버 전체에 영향을 미치게 된다. 이러한 영향을 모든 계정을 가진 사람이 수행하게 된다면 서버 관리에 어려움을 겪을 것이다. 또한, 악성 프로그램이 몰래 실행할 가능성도 있다… 그것을 방지하기 위하여 서버 전체에 영향을 미치는 것과 같은 일은 권한(permission)이 필요하다. 흔히 접하게 되는 에러 메시지인 permission denined가 이러한 권한이 없는 것을 할려고 할 때 발생된다. 패키지 설치의 경우 서버 전체에 접근할 수 있는 root 권한을 가지고 있어야 한다. 그렇지만 보통의 root 계정은 서버의 모든 권한을 가지고 있어, super user라 불리우는 user를 통해 sudo로 이러한 root를 대신 실행할 수 있다. 위의 명령의 경우 sudo를 앞에 붙여야 한다. 예를 들어 실행을 한다면.

$ sudo apt update
$ sudo apt install gcc
$ sudo apt remove gcc

앞의 $ 기호는 쉘에서의 명령의 시작 줄임을 의미한다. 이를 빼고 명령어를 입력하면 된다. 간혹 다른 블로그에서 #으로 시작하는 경우 root 계정의 권한이 필요한 일이다. 이 경우는 위와 같이 sudo를 앞에 붙여 실행하면 실행이 가능하다.

명령어 사용 법을 모르겠다!!

  • man <command>를 활용하면 설치된 프로그램 <command>의 사용법을 확인할 수 있습니다.
  • <command> -h or --help 대다수의 프로그램은 man 이외에도 help 옵션을 통해 프로그램의 설명을 받을 수 있습니다.

user, group 관련

서버를 만들었다면 서버에 접근할 수 있는 user를 만들고 관리해야합니다.

adduser

user를 추가하는 명령어 입니다. “사용자 홈 디렉토리”를 포함하여 사용자와 관련된 설정을 자동으로 합니다. 홈 디렉토리의 경우 Windows에서 바탕화면을 생각하시면 약간 편합니다. 각 유저마다 가지고 있는 개인의 작업공간으로, 여기에 자신의 데이터를 저장하고 관리할 수 있습니다.

useradd

위와 동일하게 user를 추가하지만, 자세한 설정을 직접 해야하는 단점이 있습니다.

다운로드

wget