일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리덕스
- programmers
- 손에 익히며 배우는 네트워크 첫걸음
- 프로그래머스
- 코드스테이츠
- 자바스크립트
- python
- 리트코드
- 정재남
- 회고
- SQL 고득점 Kit
- 리액트
- 코어 자바스크립트
- LeetCode
- 파이썬
- javascript
- 제로초
- HTTP
- 타입스크립트
- js
- 알고리즘
- 백준
- 렛츠기릿 자바스크립트
- til
- 토익
- codestates
- 타입스크립트 올인원
- 2주 프로젝트
- 타임어택
- 4주 프로젝트
- Today
- Total
Jerry
리눅스 기초 실습 기록 – 사용자 생성, 권한 설정, 서비스 관리까지 본문
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
결과
- 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
실습 항목 | 핵심 명령어 | 확인 포인트 |
사용자 관리 | useradd, passwd, groupadd, usermod | /etc/passwd, groups |
권한 설정 | chmod, chown | ls -l, 파일 접근 시도 |
서비스 관리 | systemctl, journalctl | 서비스 상태 및 로그 분석 |
5. 실습 결과 요약
- 사용자 및 그룹 개념의 실전 적용 방법을 이해
- 파일 권한이 시스템 보안과 연결되는 방식 체감
- 서비스 상태 제어 및 로그 확인을 통해 운영 흐름을 익힘
6. 느낀 점 및 다음 실습 방향
- 이번 실습은 단순 명령어 암기를 넘어서, 실질적인 시스템 운영 감각을 익히는 데 도움이 되었습니다.
- 특히 systemctl과 journalctl을 통해 실시간으로 서비스 상태를 점검하는 경험은 실제 인프라 운영 업무에도 도움이 될 것 같습니다.
'CS > Network' 카테고리의 다른 글
개발자를 위한 컴퓨터공학 2: 혼자 공부하는 네트워크 #1 (3) | 2025.03.27 |
---|---|
AWS Lightsail 인스턴스 생성과 네트워크 구성 실습 – 고정 IP, 방화벽 (0) | 2025.03.27 |
DNS와 TCP 통신 흐름을 시각화하며 이해하기 – nslookup, tracert, Wireshark 실습 기록 (2) | 2025.03.26 |
#18. 패킷, 처리량, 지연시간, 병목현상, TCP/IP, TCP/UDP, 캡슐화, PDU, 로드밸런서, ARP, MAC 주소, NAT (2) | 2025.03.26 |
후니의 쉽게 쓴 CISCO 네트워킹 #2 (0) | 2021.01.18 |