su-tudy 님의 블로그

#3 사용자 및 권한 관리 — sudo, chmod, chown 본문

리눅스/Linux 실습

#3 사용자 및 권한 관리 — sudo, chmod, chown

su-tudy 2024. 11. 13. 22:21

 

📌 리눅스에서 권한 관리가 중요한 이유

 

리눅스 여러 사용자가 동시에 사용하는 멀티유저 시스템이다. 그래서 모든 파일과 명령어에 "누가 무엇을 할 수 있는가"를 명확히 정해두는 권한 시스템이 핵심이다.

1편에서 root 대신 일반 계정을 만들었는데, 그 계정으로 관리자 명령을 쓰려면 매번 su로 root 전환을 해야 했다. 이번 편은 sudo 권한을 부여해 이 번거로움을 해결하고, chmod와 chown으로 파일 권한과 소유권을 직접 제어하는 방법을 배우는 과정이다.

 

sudo 권한 부여
파일 권한 구조 이해
권한 변경(chmod)
소유권 변경(chown)

 


📌 미리 알아두면 좋은 개념들

 

❑ sudo란?

  • sudo는 "superuser do"의 약자로, 일반 계정이 명령어 단위로 관리자(root) 권한을 빌려 실행하는 명령어다. root로 완전히 전환하지 않고도 필요한 명령만 권한을 올려서 실행할 수 있다.
  • 아무나 쓸 수 있는 게 아니고, /etc/sudoers 파일에 등록되어 있거나 wheel 그룹에 속한 사용자만 사용 가능하다.
💡 root 계정을 자주 사용하 보안 위협에 노출되기 쉽다. sudo는 "필요한 순간에만 권한을 빌린다"는 원칙을 실현하는 방법이다.

 

❑ 파일 권한 구조 / 소유권 구조

ls -al로 파일 목록을 보면 맨 앞에 10글자 권한 표시가 있고 그 오른쪽에 소유자와 그룹이 표시된다. 이 구조를 이해하면 chmod를 훨씬 쉽게 쓸 수 있다.

파일 종류 : - 일반파일 ❘ d 디렉토리 ❘ l 링크  권한 : r 읽기 ❘ w 쓰기 ❘ x 실행 ❘ - 권한없음

 

❑ 숫자 표기법 (chmod에서 사용)

권한을 숫자로 표현할 수 있다. 각 자리는 소유자 / 그룹 / 다른 사용자 순이다.

숫자를 더해서 조합한다.

  • rwx  → 4+2+1 = 7
  • rw-  → 4+2+0 = 6
  • r-x  → 4+0+1 = 5
  • r--  → 4+0+0 = 4
💡 예 : chmod 755 파일명  →  소유자 rwx(7), 그룹 r-x(5), 다른 사용자 r-x(5)

 


📌 진행한 실습 과정 정리

 

❑ sudo 권한 부여

/etc/sudoers 파일에 직접 계정을 추가하는 방법이다. root 계정으로 전환한 후 작업한다.

  1. root 계정으로 전환
  2. sudoers 파일 열기
  3. 파일 안에서 root 줄 검색 후 아래에 계정 추가
  4. 저장 후 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		# 정상 실행

권한 설정 파일에서 sudo 명령어를 사용할 수 있는 회원 목록에 유저를 추가하는 것

💡 또 다른 방법 : 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 폴더명
📝 u = 소유자 (user)   |   g = 그룹 (group)   |   o = 다른 사용자 (other)   |   a = 전체 (all)

 

❑ 소유권 변경 (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 비활성화