KodeKloud의 100일 챌린지 1주차: 1‑4일 (또는: 걱정을 멈추고 Slow Labs를 사랑하게 된 방법)
Source: Dev.to
Day 1 – Non‑Interactive Users
도전 과제는 비대화형 쉘을 가진 사용자를 만드는 것이었습니다.
sudo useradd -s /usr/sbin/nologin username
getent passwd username
실수: 잘못된 호스트에서 명령을 실행했습니다. 검증이 실패한 이유를 몇 분 동안 고민하다가 내가 로컬 터미널에 있었고 실험실 VM이 아니라는 것을 깨달았습니다.
교훈: 명령을 실행하기 전에 항상 현재 호스트를 확인하세요 (hostname을 먼저 실행).
Day 2 – Temporary Users
만료 날짜가 있는 사용자 계정을 생성합니다.
sudo useradd anita -e 2023-06-05
chage -l anita
이렇게 하면 “시간이 흐르는 폭탄” 계정이 만들어집니다—임시 계약자나 인턴에게 유용합니다.
추가 팁: 20분 후에 계정을 자동으로 잠그기.
echo "usermod --lock username" | at now + 20 minutes
실수: 또 다시 잘못된 호스트에서 실행했습니다.
Day 3 – Disabling Root SSH
Manual approach
sudo vi /etc/ssh/sshd_config
# Change: #PermitRootLogin no → PermitRootLogin no
sudo systemctl restart sshd
세 서버에서 수동으로 이 작업을 하면 (SSH 연결당 약 30 초) 번거롭습니다.
Automated solution
for server in app1 app2 app3; do
ssh "$server" "sudo sed -i 's/#PermitRootLogin no/PermitRootLogin no/' /etc/ssh/sshd_config && sudo systemctl restart sshd"
done
30 분 걸리던 작업이 2분짜리 커피 타임이 되었습니다.
교훈: 작업을 두 번 이상 반복하고 지루하다면 자동화하세요.
Day 4 – File Permissions
스크립트를 모든 사용자에게 실행 가능하게 만듭니다.
chmod 755 /tmp/xfusioncorp.sh
ls -l /tmp/xfusioncorp.sh
출력: -rwxr-xr-x
Permission breakdown
7(rwx) – 소유자 전체 접근 권한5(r-x) – 그룹에 읽기 및 실행 권한5(r-x) – 기타 사용자에 읽기 및 실행 권한
Common patterns
chmod 644 file.txt # Owner: rw, Group/Others: r
chmod 755 script.sh # Owner: rwx, Group/Others: rx
chmod 600 secret.txt # Owner: rw, Group/Others: none
Week 1 Stats
- 실행한 명령: ~50개
- 잘못된 호스트 실수: 2회
- 실험실 로딩 시간: 실험실당 약 5 분
- “왜 안 되지?” 순간: 7번
- 커리어에 회의감을 느낀 횟수: 3번
Key Takeaways
Commands I now know by heart
useradd -s /usr/sbin/nologin username
chage -l username
chmod 755 script.sh
Mistakes that taught me
- 명령을 실행하기 전에 항상
hostname을 확인한다. - 두 번 이상 하는 일은 자동화한다.
- 실험실 속도 ≠ 학습 속도.
What’s Next
Days 5‑8에서는 다음을 다룰 예정입니다:
- 패키지 관리 (
yum,apt,dnf) - 서비스 관리 (
systemctl심층 탐구) - 크론 작업 및 스케줄링
- 더 많은 자동화