티스토리 뷰

AWS 에서 리눅스(우분투) 사용시 기본적인 명령어 모음입니다.

간혹 기억이 안날때 참고하면 되겠어요.

 

설치 후 최초 접속시 기본 설정 관련

 

설치후 최초 접속을 하게 되면 우분투는 ubuntu계정으로 로그인하게 됩니다.

이때 자기가 실제 쓰는 계정을 만들고 기본 ubuntu계정은 삭제하는게 보안상 좋겠네요.

그리고 보통 key로 접속을 하니 key도 복사를 해야만 됩니다.

// 최초 ubuntu 접속 이후 진행 할 것들

// 루트 계정 설정과 실제 사용할 ID(abcd로 가정) 생성
# sudo su root
# passwd
# adduser abcd 

// 신규생성ID도 보안KEY로 접속가능하게 복사
# cp -R /home/ubuntu/.ssh  /home/abcd/.ssh
# chown abcd:abcd /home/abcd

// ubuntu 계정 암호 설정하기,  필요시 삭제해도됨
# passwd ubuntu

// sudo 설정 
# sudo vi /etc/sudoers
/******************
root    ALL=(ALL:ALL) ALL 이 글을 찾은 후 바로 아래에 내용 추가
abcd     ALL=(ALL:ALL) ALL
******************/

// ssh 서비스 재시작
# service ssh restart

// 시간대 변경, 기본이 UTC로 되어 있는지 date러 확인하고 이를 KST로 변경
# date
# sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
 

우분투 업데이트 및 설치 삭제 관련 (APT)

윈도우의 업데이트처럼 우분투의 업데이트 진행하면 보안상 유리합니다.

한달에 1,2번 정도 진행하시면 되겠네요.

// APT 업데이트 대상 찾기
# sudo apt update
# sudo apt list --upgradable

// 업그레이드 
# sudo apt upgrade

// 찌꺼기 제거
# sudo apt autoremoveho

// 기타 우분투 버전 업그레이드가 있는 경우
# sudo do-release-upgrade 


// 패키지 조회 (전체 리스트)
# sudo apt list 패키지  // 예: sudo apt list openjdk* 

// 패키지 설치
# sudo apt install 패키지

// 패키지 설치후 실행상태 보기 
# sudo apt 패키지 status    // 예: sudo apt ssh status

// 패키지 삭제 - 의존성까지 삭제시는 --purge 포함
# sudo apt remove --purge 패키지 

// 사용법
# sudo apt help

 

 

 

설치 후 최초 접속시 기본 설정 관련

 

웹서비스 폴더는 기본적으로 /var/www/html 인데, 파일 권한이 대부분 www-data로 되어있습니다.

이걸 바꿔도 되지만, 일단 좀더 편리하게 하기 위해서

내가 쓰는 계정과 www-data 계정을 그룹화하면 편리하게 수정할 수 있게 됩니다.

 

// 아래 명령어 입력하고, 로그아웃 이후 다시 로그인하면 적용됩니다.
# sudo usermod -aG www-data abcd
# sudo groups abcd    // 출력결과에 www-data가 포함되어 있어야 해요.

// 필요시 진행
# sudo chown -R www-data:www-data /var/www/html
# sudo chmod -R 775 /var/www/html

// 폴더에 setgid 비트 설정 (선택 사항) 
// 새로 생성되는 파일 및 디렉토리도 www-data 그룹을 상속하도록 설정
# sudo find /var/www/html -type d -exec chmod g+s {} \;

 

압축 파일 관련

압축파일 관리 기본적인 내용입니다.

// 압축 할때, 하위 폴더 포함 - tar.gz로 압축파일 생성
// tar -czvf <압축파일명.tar> <대상파일>
# tar -czvf Backup_20250101.tar.gz /var/www/html

// 압축해제
# tar -xzvf Backup_20250101.tar.gz
 

프롬프트 개선

지금 리눅스 프롬프트가 너무 단색으로 나와 보기가 힘드니 이 부분을 개선합니다.

// 프롬프트 종류 찾기 - 아래명령어 치고 나오는 내용을 잘 기억해놓으시고
# echo $PS1

// 이용계정(예: abcd)로 로그인한 이후 cd는 홈으로 이동하는 명령어.
# cd 
# vi .bashrc
/******************
위에서 찾았던 내용으로 이동한 후에 기존것은 주석처리(맨앞에 # 추가)하고 아래 내용 추가
PS1="[\[\e[1;31m\]\u\[\e[m\]@\[\e[1;32m\]\h\[\e[m\]: \[\e[1;36m\]\w\[\e[m\]]#"
******************/
 

배치 작업 설정

자동으로 배치작업을 만들어야 할때 간단히 참고하세요.

단, VI 는 사용법이 복잡하니 간단한 공부가 필요하구요.

어려우시면 nano로 하시면 됩니다.

// 자동 실행/배치 작업 만들기
// 여기서는 웹서버 파일 자동 백업을 예제로 함.

# sudo vi /usr/local/bin/backup_web.sh   // backup_web.sh이 없으면 자동 생성됨
# sudo nano /usr/local/bin/backup_web.sh
/******************
#!/bin/bash

# 백업 저장 경로
BACKUP_DIR="/home/abcd/backup/web"

# 백업 파일 이름 (예: html_backup_2024-11-19.tar.gz)
BACKUP_FILE="$BACKUP_DIR/web_backup_$(date +%F).tar.gz"

# /var/www/html 폴더 압축 및 백업
tar -czvf $BACKUP_FILE /var/www/html

# 오래된 백업 삭제 (5일 이상 된 백업 파일 삭제)
find $BACKUP_DIR -type f -mtime +5 -name "*.tar.gz" -exec rm -f {} \;

echo "Backup completed: $BACKUP_FILE"
******************/

// 파일에 실행권한 부여
# sudo chmod +x /usr/local/bin/backup_web.sh 

// 실행시간 설정
# sudo crontab -e
/******************
편집기를 물어볼텐데, nano나 vi를 숫자로 선택하시구요.
맨 하단에 아래 내용 입력하세요.
03은 새벽 3시를 의미합니다. 

0 3 * * * /usr/local/bin/backup_www.sh
******************/
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함