기본 콘텐츠로 건너뛰기

리눅스에서 MySQL 및 PostgreSQL 데이터베이스 설치 및 관리

리눅스에서 데이터베이스 설치 및 관리 (MySQL/PostgreSQL) 안녕하세요, mj입니다! 오늘은 리눅스에서 MySQL과 PostgreSQL 데이터베이스를 설치하고 관리하는 방법에 대해 알아보겠습니다. 데이터베이스는 애플리케이션의 핵심 요소로, 올바르게 설치하고 관리하는 것이 중요합니다. 1. MySQL 설치하기 MySQL은 가장 널리 사용되는 오픈 소스 데이터베이스 중 하나입니다. 다음은 Ubuntu에서 MySQL을 설치하는 방법입니다. 1.1. MySQL 설치 명령어 sudo apt update sudo apt install mysql-server 1.2. 설치 확인하기 설치가 완료되면 다음 명령어로 MySQL 서버가 정상적으로 실행되고 있는지 확인할 수 있습니다. sudo systemctl status mysql 1.3. MySQL 보안 설정 설치 후 보안 설정을 진행해야 합니다. 다음 명령어를 입력하여 보안 설정을 시작합니다. sudo mysql_secure_installation 1.4. 예시: 데이터베이스 생성 MySQL에 접속하여 새로운 데이터베이스를 생성해 보겠습니다. mysql -u root -p CREATE DATABASE sample_db; 출력 결과: Query OK, 1 row affected 2. PostgreSQL 설치하기 PostgreSQL은 강력한 기능을 제공하는 오픈 소스 데이터베이스입니다. 다음은 Ubuntu에서 PostgreSQL을 설치하는 방법입니다. 2.1. PostgreSQL 설치 명령어 sudo apt update sudo apt install postgresql postgresql-contrib 2.2. 설치 확인하기 PostgreSQL 서버가 정상적으로 실행되고 있는지 확인합니다. sudo systemctl status postgresql 2.3. PostgreSQL 사용자 및 데이터베이스 생성 PostgreSQL에 접속하여 새로운 사용자 및 데이터베이스를 생...

8. 계정 설정

안녕하세요, MJ 입니다.

 

계정의 설정에 대해 알아보겠습니다.

 

"무엇을 설정 있을까?"

 

물음을 시작으로 무엇을 설정 있을 목록을 작성 보겠습니다.

 

[설정 목록]

  1. 패스워드 변경
  2. 홈디렉토리 경로 변경
  3. 기본 변경

 

이정도가 같습니다.

패스워드 변경은 이전에 했던 내용이지만 상세하게 기록 보겠습니다.

패스워드 변경을 작업하기 전에, 어떤 경우에 변경작업이 필요한지 알아야 합니다.

대부분은 설정 패스워드를 다른 패스워드로 변경 하는것을 의미하지만

반드시 그렇지는 않습니다.

 

그렇다면 패스워드 변경하는 경우는 어떠한 경우가 있을까?

  1. 패스워드 변경

1-1) 패스워드를 변경하고싶은 경우(예시 - 1234 asdf 변경)

1-2) 패스워드를 설정하지 않고싶은 경우(패스워드의 제거)

1-3) 패스워드를 통해서 인증을 없도록 하고싶은 경우

(올바른 패스워드를 입력해도 인증이 되지 않도록)

 

이정도가 같습니다.

 

1-1) 패스워드를 변경하고싶은 경우(예시 - 1234 asdf 변경)

modify_password

또는

modify_password2

  • 패스워드 설정을 엔터 1 입력으로 있지만, 방법은 history 모두 기록 되므로, 보안측면에서 권장하지 않는 패스워드 변경 방법입니다.

 

1-2) 패스워드를 설정하지 않고싶은 경우(패스워드의 제거)

  • /etc/shadow 파일에 root 계정의 패스워드 필드의 해시가 확인되고,

패스워드 제거 명령을 수행 /etc/shadow 파일의 root 계정의 패스워드 필드의 내용이 빈것이 확인됩니다.

 

 

1-3) 패스워드를 통해서 인증을 없도록 하고싶은 경우

(올바른 패스워드를 입력해도 인증이 되지 않도록)

  • 현재 root 계정의 패스워드의 상태를 조회 해보니, Empty 패스워드가 상태 확인되고, passwd -l (소문자 L) root 계정의 패스워드를 잠구어보았습니다.
    이후 상태를 다시 조회 보니, 패스워드가 잠겨있다는 상태 메시지를 확인할 있습니다. 다시 password lock 해제 하기위해서는 unlink 옵션 (소문자U) 사용할 있고 또는 root 계정의 패스워드를 설정하면 Locked 상태가 제거 됩니다.

 

  • -u 옵션을 사용하였을 unLock 되지 않았습니다, 이것은 패스워드를 제거 상태였기때문에 패스워드가 존재하지 않아 안전하지 않지만 force 옵션을 주면 되겠지만, 패스워드 재설정으로 lock 해제 되는 것을 확인 내용 입니다.

 

 

  1. 홈디렉토리 경로 변경
  •   디렉토리 경로를 변경하기 위해서는 변경하고자 하는 계정 말고, 다른 계정으로 시스템에 로그인이 필요합니다. 왜냐하면, 로그인 때에 이미 디렉토리에 진입을 하게 되는데 그렇게 되면 디렉토리가 이미 사용중인 디렉토리가 되고, 제거 없는 디렉토리가 되기때문입니다. 제거하지 않고 복사를 수행한다면 가능하겠습니다만 일반적으로 복사를 수행하여 작업하지 않기때문에(용량문제로) 복사를 수행하여 변경이 가능한 경우를 만난다면 운이 좋은 케이스가 되겠습니다.

2-1) tinfra 계정의 디렉토리를 변경

  • 변경 홈디렉토리 경로: /home/tinfra
  • 변경 경로: /Users/tinfra
  • tinfra 계정의 경로를 변경할 것이기 때문에, root 계정으로 접속하여 작업합니다.

2-1-1) 홈경로 확인 (cat /etc/passwd | grep ^tinfra: | cut -d ':' -f6)

 

2-1-2) /home 디렉토리와 /home/tinfra 디렉토리의 퍼미션 확인

  • /home 디렉토리는 root/root 소유, 퍼미션 755
  • tinfra 디렉토리는 tinfra/tinfra 소유, 퍼미션 700
  • 그렇다면 /User /home 처럼 만들고, tinfra 디렉토리를 그대로 mv 하면 되겠습니다.

  • 이제 /etc/passwd 파일의 내용에서 확인된 디렉토리 경로를 수정 해야하는데

vi 명령어로 (root에서) 수정 있고, 명령어로도 수정 있습니다.

명령어로 해보겠습니다.

 

  • 로그인 확인

* 경로 변경이 정상적으로 적용 것이 확인됩니다.

 

 

  1. 기본 변경

사용 하는 쉘을 변경하기위해 변경 있는 쉘이 무엇이 있는지, 내가 사용하고 있는 쉘은 무엇인지 알아야 것입니다.

  • 이렇게 확인 있습니다.

  • 시스템에 설정 tinfra 계정의 기본 정보를 확인.

 

  • /etc/passwd 파일을 수정하거나, 명령어로 변경을 있습니다.

명령어로 보겠습니다.

  • 변경하고

 

  • 확인합니다.

 

 

변경할 있는 계정 설정에 대해 3가지 알아보았습니다.

내용이 별게 없어보이지만, 스크립트에 활용 있는 문자열 필터 명령어들과, 시스템 정보 확인을 위한 내용에 대해 여러가지로 알아가실 있는 내용이 아니었을까 생각해봅니다.

 

감사합니다.

댓글

가장 많이 본 글

5. 버추얼박스:설정 (+네트워크의 종류 설명)

안녕하세요 , MJ 입니다 .   우리가 실습을 하는데에 필요한 버추얼박스의 설정에 대해 설명을 합니다 .     버추얼 박스의 설정에는 종류별로 메뉴가 구분되어있습니다 . 1-1. 환경설정 1-2. 네트워크 설정 1-3. 미디어 설정       다른 설정도 존재하지만 , 필요한 일이 없을것이 예상되고 , 위 3 가지 설정에 대해서만 알고 계신다면 버추얼 박스로 실습을 하는데에 아무런 지장이 없고 또 취업을 하신 뒤에 실무에 가셔서도 문제가 될 것이 없습니다 .   환경설정 부터 확인하겠습니다 . 1-1. 환경설정 : 우리가 알아야 편한 내용은 2 가지가 있는데 VM 의 기본 저장경로 설정 " 파일 (F)" 의 환경설정 (P) … [ 단축키 : Ctrl+G] 을 누르면 환경설정 창이 보이고 , 제일먼저 확인되는 기본 머신 폴더 (M) 입니다 . VM 을 저장 할 경로를 지정하는 것인데 VM 은 가상 머신으로 디스크의 용량과는 상관없이 , 가상 컴퓨터의 정보가 저장되는 것으로 , 텍스트 파일형태로 저장되어있고 , 그 내용에는 CPU 를 몇개 사용하도록 되어있는지 , 메모리는 얼마만큼을 할당하도록 되어있는지 , 네트워크 인터페이스는 몇 개가 어떻게 설정되어있는지 ... 등 가상의 컴퓨터를 정의하는 내용의 파일이 저장되는 경로가 되고 ,   디스크 파일은 별도 미디어 설정에서 관리가 되지만 VM 을 생성하는 과정에서 만든 디스크는 VM 저장경로에 함께 생성 되어있어 사용자가 파일탐색기로 경로를 찾아가보면 파일의 사이즈로 아 이것이 디스크 파일인가보구나 하고 알 수 있습니다 .( 용량이 크고 ...

MJ. 로또의 회차별 당첨번호 API 확인 (예제포함)

안녕하세요, MJ 입니다.   로또 당첨번호를 확인하기위해 동행복권 사이트를 찾아 가거나, 포털사이트에서 검색을 할 수 있지만, 다음 주소를 브라우저에 붙여넣거나, curl 명령을 이용하여 터미널에서 손쉽게 확인할 수 있는 방법이 있어 소개를 드리려고 합니다.     < URL> https://www.dhlottery.co.kr/common.do?method=getLottoNumber&drwNo= < 회차번호 >     - API 주소 활용 방법 브라우저에 URL 입력하여 확인 .           >> 인터넷 주소창에 URL 을 입력       ( 윈도우 ) cmd / ( 리눅스 ) bash 터미널에서 curl 을 사용하여 확인 .( 예 : 123 회차 ) >> curl " https://www.dhlottery.co.kr/common.do?method=getLottoNumber&drwNo= 123 " <cmd>   <bash>         python/java/c 등 코드를 만들어서 확인 . >> 코드를 짜서 확인하는 것이 , 데이터를 가공하기도 좋고 , 앞으로 출현할 숫자를 분석하기도 좋지만 , 자신이 원하는 대로 데이터를 가공하기 위해 시간과 노력의 투자가 필요함 .       [ (API 결과 예시 ) 123 회차 조회결과 ] >> json 형식으로 공백 , 줄바꿈이 없이 순서도 제멋대로 확인되지만 (브라우저나 터미널에서 확인하면), 다음과 같은 데이터가 확인됨 .   <확인한 정보 줄맞춰봄> #######...