메뉴 건너뛰기

XEDITION

Server

리눅스(Linux) - 사용자와 권한

proin 2020.08.19 13:43 조회 수 : 1

https://hyeshinoh.github.io/2019/02/11/linux_006/


생활코딩 생활코딩 리눅스 강좌 내용을 들으면서 정리하는 노트

1. 다중 사용자

  • 유닉스 계열 운영체제는 여러 명이 함께 사용할 수 있는 기능을 가지고 있음
  • 다중 사용자 시스템이 되면 시스템의 복잡도가 높아짐
  • $ id: uid(유저아이디), gid(그룹아이디)
  • $ who: 현재 접속한 사용자 리스트

2. 관리자와 일반 사용자 (Superuser vs. User)

  • 관리자: superuser(root user)
  • $ sudo [명령어]: 일시적으로 super user의 권한으로 명령 실행
  • super user 되는 방법
    • $ sudo passwd -u root: unlock
    • $ sudo passwd -l root: lock
    • $ su -root: superuser 되기
      • root user의 홈디렉토리는 /root (일반사용자의 홈디렉토리는 /home/username)
    • # exit: logout

3. 사용자의 추가 (Add User)

  • $ sudo useradd -m username: username으로 사용자 추가
    • -m: 홈 디렉토리를 같이 만들어줌 (`/home/username)
  • $ sudo passwd username: username의 password 지정
  • $ su -username: username으로 접속
  • $ sudo usermod -a -G sudo username: (sudo 가능한 유저로 접속해서 실행할 것) username이 sudo 명령을 할 수 있도록 지정
    • sudo group에 username을 추가하는 것
  • sudo deluser username sudo: username의 sudo 권한을 삭제하기

4. 권한 (Permission)

  • User가 파일/디렉토리에 대해 읽기/쓰기/실행을 할 수 있는 권한을 지정
  • ls -l: 파일의 권한, 소유자 등의 정보 확인 가능
  • 권한: -rw-rw-r--와 같은 형태 (10자리가 아래와 같이 나눠짐)
    • 첫번째 자리=type: -(파일) d(디렉토리)
    • 다음 세자리=owner의 access mode: r(읽기), w(쓰기), x(실행)
    • 다음 세자리=group의 access mode: r(읽기), w(쓰기), x(실행)
    • 다음 세자리=other의 access mode: r(읽기), w(쓰기), x(실행)
  • 권한 변경: chmod 명령어 사용
    • $ chmod [options] mode file 형태
    • $ chmod o-r [filename]: [filename]에 대해 other의 read 권한을 빼기
    • $ chmod o+r [filename]: [filename]에 대해 other의 read 권한을 추가하기
    • $ chmod o+w [filename]: [filename]에 대해 other의 write 권한을 추가하기
    • $ chmod u-r [filename]: [filename]에 대해 user(소유자)의 read 권한을 빼기
    • $ chmod u+r [filename]: [filename]에 대해 user(소유자)의 read 권한을 추가하기
  • 실행(execute) 권한
    • $ chmod u+x [filename]: user가 해석기 프로그램 없이 [filename]을 바로 실행할 수 있게 함
  • directory에 대한 권한
    • read 권한: 해당 디렉토리 안의 파일/디렉토리를 볼 수 있는가
    • write 권한: 해당 디렉토리 안에 파일/디렉토리를 생성/삭제/변경할 수 있는가
    • execute 권한: 해당 디렉토리에 들어갈 수 있는가 (cd 명령)
    • $ chmod -R o+w [dirname]: [dirname] 안의 모든 디렉토리에 대해 재귀적으로 other의 write 권한을 추가하기
  • chmod octal modes
    • e.g. $ chmod 111 [filename]: 모든 사용자가 실행만 가능하게 변경
num Permission rwx
7 read, write and execute rwx
6 read and write rw-
5 read and execute r-x
4 read only r--
3 write and execute -wx
2 write only -w-
1 execute only --x
0 none ---

5. 그룹 (Group)

특정한 사용자 그룹에 대해서 파일/디렉토리에 대한 권한을 지정할 수 있음

  • $ useradd -G [group_name] [username]: group에 사용자를 생성해서 추가
  • $ sudo groupadd [group_name]: 그룹 생성
  • /etc/group파일에 해당 그룹이 추가되었는지 확인
  • $ sudo usermod -a -G [group_name] [username]: username을 group_name에 추가하기
  • shell에 다시 로그인
  • $ sudo chown [owner_name:group_name] [file or dir]: owner & group 변경
  • $ sudo chmod g+w [file or dir]: group에 w 권한 추가

참고자료

 


 

 

위로