관리 메뉴

Jerry

리눅스 기초 실습 기록 – 사용자 생성, 권한 설정, 서비스 관리까지 본문

CS/Network

리눅스 기초 실습 기록 – 사용자 생성, 권한 설정, 서비스 관리까지

juicyjerry 2025. 3. 26. 22:45
반응형

1. 실습 개요 및 목표

- Ubuntu 22.04 환경에서 리눅스 기본 명령어를 실습하며, 서버 운영에 필요한 사용자 관리, 권한 설정, 서비스 제어 등을 경험했습니다. 단순한 명령어 숙달을 넘어서, 시스템이 어떻게 동작하는지를 이해하는 것이 목표였습니다.

 

 

  • OS: Ubuntu 22.04 LTS (VirtualBox 또는 WSL2)
  • 사용 권한: sudo 가능한 일반 사용자 (예: ubuntu, student)
  • 에디터: VS Code (Remote - SSH or WSL), 또는 터미널 기반 (nano, vim)
  • 패키지 관리자: apt

 

 

 


2. 사용자 및 그룹 관리 실습

# 1. 사용자 생성
sudo useradd devuser -m

# 2. 비밀번호 설정
sudo passwd devuser

# 3. 그룹 생성
sudo groupadd devgroup

# 4. 사용자에 그룹 추가
sudo usermod -aG devgroup devuser

 


확인 명령어

# 사용자 정보 확인
id devuser

# 그룹 목록 확인
groups devuser

# /etc/passwd 파일에서 사용자 생성 확인
tail /etc/passwd

# /etc/group 파일에서 그룹 확인
tail /etc/group

 

사용자 정보 확인

 

그룹 목록 확인

 

 

/etc/passwd 파일에서 사용자 생성 확인

 

 

/etc/group 파일에서 그룹 확인

 

 

 

결과

- devuser 계정 생성 후, devgroup 그룹에 속하게 구성
- 그룹 권한 테스트를 위해 파일 생성 및 접근 시도

 

 

 

 

 

 

 


3. 파일 및 디렉토리 권한 실습

 

주요 명령어

# 테스트 디렉토리 및 파일 생성
mkdir ~/perms_test
touch ~/perms_test/testfile

# 소유자와 그룹 확인
ls -l ~/perms_test

# 권한 변경
chmod 755 ~/perms_test/testfile   # rwxr-xr-x
chmod 700 ~/perms_test/testfile   # rwx------

# 소유자 변경
sudo chown devuser:devgroup ~/perms_test/testfile

 

 

결과 확인

# ls -l로 권한, 소유자, 그룹 확인
ls -l ~/perms_test

# 파일 접근 테스트 (다른 사용자 전환)
sudo -u devuser cat ~/perms_test/testfile

 

테스트 디렉토리 및 파일 생성 / 소유자와 그룹 확인 / 권한 변경

 

 

소유자 변경

 

 

 

 

 


4. 서비스 관리 실습 (systemctl, journalctl)

- 리눅스 시스템에서 서비스(데몬)을 시작, 중지, 상태 확인, 자동 실행 설정 등을 할 수 있도록 함
- nginx 같은 실습용 웹 서버를 활용해 실제 서비스 제어 흐름 체험

 

 

nginx
- 정적 웹 서버로,  HTML, 이미지, CSS 등 고정된 파일을 브라우저에 전달
- 브라우저가 요청한 웹페이지를 클라이언트에게 보내주는 프로그램
- 리버스 프록시 역할 : 백엔드 서버(Node.js, Django 등)에 대신 요청을 보내줌
- 로드밸런서 역할 : 여러 서버에 트래픽을 분산시켜 부하 분산
- SSL 설정 : HTTPS 인증서 연동 가능

 

 

 

주요 명령어

# nginx 설치
sudo apt update
sudo apt install nginx -y

# 서비스 시작/중지/재시작
sudo systemctl start nginx
sudo systemctl stop nginx
sudo systemctl restart nginx

# 서비스 상태 확인
systemctl status nginx

# 부팅 시 자동 실행 여부
sudo systemctl enable nginx
sudo systemctl disable nginx

 

서비스 상태 확인

 

 

 

로그 확인

# 서비스 관련 로그 확인 (최근 10분)
journalctl -u nginx --since "10 minutes ago"

# 부팅 이후 전체 로그
journalctl -u nginx

# 실시간 로그 모니터링
journalctl -u nginx -f

 

서비스 관련 로그 확인

 

 

부팅 이후 전체 로그

 

 

실시간 로그 모니터링

 

 

ps aux ❘ grep nginx 로 프로세스 상태 확인

 

실습 항목 핵심 명령어 확인 포인트
사용자 관리 useradd, passwd, groupadd, usermod /etc/passwd, groups
권한 설정 chmod, chown ls -l, 파일 접근 시도
서비스 관리 systemctl, journalctl 서비스 상태 및 로그 분석

 

 

 


5. 실습 결과 요약

- 사용자 및 그룹 개념의 실전 적용 방법을 이해
- 파일 권한이 시스템 보안과 연결되는 방식 체감
- 서비스 상태 제어 및 로그 확인을 통해 운영 흐름을 익힘

 

 

 

 

 

 

6. 느낀 점 및 다음 실습 방향

- 이번 실습은 단순 명령어 암기를 넘어서, 실질적인 시스템 운영 감각을 익히는 데 도움이 되었습니다.
- 특히 systemctl과 journalctl을 통해 실시간으로 서비스 상태를 점검하는 경험은 실제 인프라 운영 업무에도 도움이 될 것 같습니다.

 

 

 

 

 

반응형