su-tudy 님의 블로그
#3 사용자 및 권한 관리 — sudo, chmod, chown 본문
📌 리눅스에서 권한 관리가 중요한 이유
리눅스는 여러 사용자가 동시에 사용하는 멀티유저 시스템이다. 그래서 모든 파일과 명령어에 "누가 무엇을 할 수 있는가"를 명확히 정해두는 권한 시스템이 핵심이다.
1편에서 root 대신 일반 계정을 만들었는데, 그 계정으로 관리자 명령을 쓰려면 매번 su로 root 전환을 해야 했다. 이번 편은 sudo 권한을 부여해 이 번거로움을 해결하고, chmod와 chown으로 파일 권한과 소유권을 직접 제어하는 방법을 배우는 과정이다.
📌 미리 알아두면 좋은 개념들
❑ sudo란?
- sudo는 "superuser do"의 약자로, 일반 계정이 명령어 단위로 관리자(root) 권한을 빌려 실행하는 명령어다. root로 완전히 전환하지 않고도 필요한 명령만 권한을 올려서 실행할 수 있다.
- 아무나 쓸 수 있는 게 아니고,
/etc/sudoers파일에 등록되어 있거나 wheel 그룹에 속한 사용자만 사용 가능하다.
❑ 파일 권한 구조 / 소유권 구조
ls -al로 파일 목록을 보면 맨 앞에 10글자 권한 표시가 있고 그 오른쪽에 소유자와 그룹이 표시된다. 이 구조를 이해하면 chmod를 훨씬 쉽게 쓸 수 있다.


❑ 숫자 표기법 (chmod에서 사용)
권한을 숫자로 표현할 수 있다. 각 자리는 소유자 / 그룹 / 다른 사용자 순이다.

숫자를 더해서 조합한다.
- rwx → 4+2+1 = 7
- rw- → 4+2+0 = 6
- r-x → 4+0+1 = 5
- r-- → 4+0+0 = 4
📌 진행한 실습 과정 정리
❑ sudo 권한 부여
/etc/sudoers 파일에 직접 계정을 추가하는 방법이다. root 계정으로 전환한 후 작업한다.
- root 계정으로 전환
- sudoers 파일 열기
- 파일 안에서 root 줄 검색 후 아래에 계정 추가
- 저장 후 root 로그아운, 동작 확인
# root 전환
su
# suddoers 파일 열기
vim etc/sudoers
# vim에서 root 검색
ESC → /root → n으로 다음 결과 이동
# a 눌러 입력모드 진입 후 root 줄 아래에 추가
root ALL=(ALL) ALL
계정이름 ALL=(ALL) ALL ← 이 줄 추가
# 저장 후 종료
:wq!
# root 로그아웃
exit
# 권한 부여 확인 : sudo 없이는 오류, sudo 붙이면 실행됨
updatedb # 권한 없음 오류 발생
sudo updatedb # 정상 실행

usermod -aG wheel 계정이름 으로 wheel 그룹에 추가해도 sudo를 사용할 수 있다. CentOS 7에서는 wheel그룹이 기본적으로 sudo 권한을 가진다.
❑ 파일 권한 확인 및 변경 (chmod)
# 파일 권한 확인
ls -al
# 숫자 표기법으로 권한 변경
chmod 755 파일명 # 소유자 rwx, 그룹/기타 r-x
chmod 644 파일명 # 소유자 rw-, 그룹/기타 r--
chmod 600 파일명 # 소유자 rw-, 그룹/기타 ---
# 기호 표기법으로 권한 변경
chmod u+x 파일명 # 소유자에게 실행 권한 추가
chmod g-w 파일명 # 그룹에서 쓰기 권한 제거
chmod o+r 파일명 # 다른 사용자에게 읽기 권한 추가
chmod a+x 파일명 # 모든 사용자에게 실행 권한 추가
# 폴더 하위 전체에 적용
chmod -R 755 폴더명
❑ 소유권 변경 (chown)
# 소유자만 변경
chown 새소유자 파일명
# 소유자와 그룹 함께 변경
chown 새소유자:새그룹 파일명
# 그룹만 변경
chown :새그룹 파일명
# 하위 폴더 전체 소유권 변경
chown -R 소유자:그룹 폴더명
⚠️ 오류 / 주의
🚨 주의 — chown은 root만 실행 가능
소유권 변경은 관리자 권한이 필요하다. 일반 계정에서는sudo chown ...으로 실행해야 한다.
🚨 주의 — sudoers 파일 수정 시
/etc/sudoers는 문법 오류가 생기면 sudo 자체가 동작하지 않는다. 직접 vim으로 열지 않고 visudo 명령어를 사용하면 저장 전에 문법 검사를 해줘서 더 안전하다.
📌 요약
✔️ /etc/sudoers 에 계정을 추가해 sudo 권한을 부여
✔️ 파일 권한은 종류(1) + 소유자(3) + 그룹(3) + 기타(3)의 10자리 구조임을 이해
✔️ chmod로 숫자 또는 기호 방식으로 파일 권한을 변경
✔️ chown으로 파일의 소유자와 그룹을 변경
다음 편으로 이동 🔜 #4 보안 설정 — 방화벽(firewalld) & SELinux 비활성화
'리눅스 > Linux 실습' 카테고리의 다른 글
| #5 웹 서버 구축 — Nginx 설치 & Virtual Hosting (0) | 2024.11.24 |
|---|---|
| #4 보안 설정 — 방화벽(firewalld) & SELinux 비활성화 (0) | 2024.11.23 |
| #2 네트워크 설정 — 랜카드 자동 활성화 & 고정 IP 변경 (0) | 2024.11.04 |
| #1 가상환경 구축 — VirtualBox + CentOS + PuTTY (0) | 2024.11.02 |
| #0 리눅스 기초 — 기본 개념 & 명령어 (0) | 2024.10.26 |