브렌쏭의 Veritas_Garage

[Linux] 리눅스 권한 본문

[Project_하다]/[Project_공부]

[Linux] 리눅스 권한

브렌쏭 2024. 8. 9. 16:09

Linux Permission

루트유저 / 일반유저 / System유저(관리자)

  • 0번 uid가 root
  • 1000부터가 일반
  • 1~999 사이가 시스템계정을 위한 UID

새 유저, 새 그룹을 리눅스 환경에 추가하는 방법

  • sudo useradd [username]: 유저 추가
  • sudo passwd [username]: 유저 비밀번호 설정
  • sudo usermod -aG [groupname] [username]: 그룹 추가
  • sudo groupadd [groupname]: 그룹 추가
  • sudo userdel -r [username]: 유저 삭제
  • sudo groupdel [groupname]: 그룹 삭제
$ sudo cat /etc/group # 그룹 정보를 관리
$ sudo cat /etc/shadow # 사용자의 비밀번호와 관련 민감 정보를 관리. root와 shadow 그룹 구성원만 액세스 가능
$ sudo cat /etc/passwd # 사용자 식별과 기본 사용자 관련 설정에 필요한 정보를 제공. 모든 사용자가 접근 가능
$ useradd user02
$ passwd user02 # 이제 관련파일을 확인. 
# su user02라는 명령어로 user02로도 접속.
$ sudo userdel user02

$ adduser user03 # 비밀번호, 기본 경로까지 한번에 생성
$ su user03
$ sudo groupadd team1
$ logout

$ sudo visudo # sudo 명령어를 사용할 수 있는 사용자를 설정

chown, chmod, chgrp ..

  • chown: 파일의 소유자 변경
  • chmod: 파일의 권한 변경
  • chgrp: 파일의 그룹 변경
$ ls -l # 파일의 권한을 확인
$ sudo chown [username]:[groupname] [filename] # 파일의 소유자와 그룹을 변경
$ sudo chmod [mode] [filename] # 파일의 권한을 변경
$ sudo chgrp [groupname] [filename] # 파일의 그룹을 변경

Permission 777, 755, 700

  • 777: 모든 사용자가 읽기, 쓰기, 실행 가능
  • 755: 소유자는 읽기, 쓰기, 실행 가능, 그룹과 다른 사용자는 읽기, 실행 가능
  • 700: 소유자만 읽기, 쓰기, 실행 가능
$ sudo chmod 777 [filename]
$ sudo chmod 755 [filename]
$ sudo chmod 700 [filename]
  • r: 읽기 권한
  • w: 쓰기 권한
  • x: 실행 권한
  • s: setuid, setgid, sticky bit
  • t: sticky bit
  • u: 소유자
  • g: 그룹
  • o: 다른 사용자
  • a: 모든 사용자
$ sudo chmod u+s [filename] # setuid
$ sudo chmod g+s [filename] # setgid
$ sudo chmod +t [filename] # sticky bit

rw-r--r-- -> 644
rwxr-xr-x -> 755
rwx------ -> 700
rwxrwxrwx -> 777

umask

  • 파일이나 디렉토리를 생성할 때 기본 권한을 설정
  • umask 명령어로 확인 가능
$ umask # 0022
$ umask 0002 # 0022 -> 0002
$ umask 0022 # 0002 -> 0022

ACL(Access Control List)

  • 기본 권한 외에 추가적인 권한을 부여
  • getfacl, setfacl 명령어로 설정
$ sudo apt-get install acl
$ getfacl [filename]
$ setfacl -m u:[username]:[permission] [filename]
$ setfacl -m g:[groupname]:[permission] [filename]
$ setfacl -m o:[other]:[permission] [filename]
$ setfacl -m m:[mask]:[permission] [filename]
$ setfacl -x [username] [filename]
$ setfacl -b [filename]

SUID, SGID, Sticky Bit

  • SUID: 실행 파일의 소유자가 실행 권한을 가지는 것
  • SGID: 실행 파일의 그룹이 실행 권한을 가지는 것
  • Sticky Bit: 디렉토리에 쓰기 권한이 있는 사용자만 삭제 가능
$ sudo chmod u+s [filename]
$ sudo chmod g+s [filename]
$ sudo chmod +t [filename]
Comments