권한 및 권한 변경

onebbu·2023년 3월 30일
0

리눅스

목록 보기
4/6

소유자 및 그룹

소유자는 다른 사용자들이 할 수 있는 것(권한)을 변경 가능
사용자는 어떤 그룹에 속할 수 있으며, 이런 그룹에는 파일에 대한 접근 권한 부여 가능

3번째 줄: 파일 소유자
4번째 줄: 그룹 소유자

파일 속성

첫번째 줄(총 10글자)

첫번째 글자

일반 파일 이미지
dev: 장치 디렉토리(/dev로 이동 가능) 이미지

  • 첫번째 줄-첫번째 글자: 파일과 디렉토리를 구분
  • -: 일반 파일(모든 파일은 -로 시작)
  • d: 디렉토리(파일을 제외한 모든 디렉토리)
  • b: 블록 디바이스나 블록 특수 파일
  • c: 문자 디바이스나 특수 파일
  • l: 심볼릭 링크

나머지 9글자

9글자는 각각 3개의 덩어리로 나뉨

첫 3글자(1~3번째): 소유자에 대한 권한

두번째 3글자(4~6번째): 그룹 소유자에 대한 권한

마지막 3글자(7~9번째): 이외의 사용자에 대한 권한

읽기 권한(r)

  • r(또는 -)
    파일 내용을 읽을 수 있는 권한
    권한이 없는 사용자가 읽을 경우 오류 발생
  • 오류 메세지 예시 cat: fileName: Permission denied

쓰기 권한(w)

  • w(또는 -)
  • 파일 기준: 생성, 수정, 편집 권한
  • 디렉토리 기준: 디렉토리 안 이동, 삭제, 새 파일 생성, 이름 변경 등의 작업
  • 오류 메세지 예시 rm : cannot remove 'fileName': Permission denied

실행 권한(x)

  • x(또는 -)
  • 디렉토리 실행 권한의 예시: 디렉토리에 x권한이 있을 경우 그 사용자는 cd명령을 통해 디렉토리에 접근할 수 있음
    오류 메세지 예시 -bash: cd: 'directoryName/': Permission denied
  • 파일 실행 권한의 예시: date명령어(root 사용자의 권한)을 삭제할 경우 date 명령어 실행 불가
    오류 메세지 예시 -bash: /usr/bin/date: Permission denied

권한(Permission) 변경

chmod mode file

파일과 권한 변경 방법을 지정해야 함

첫 글자

  • u: 사용자(owner, user)
  • g: 그룹(소유자 그룹의 멤버)
  • o: 전 세계 다른 사람(others)
  • a: 위의 모든 사람을 의미

기호

  • -: 권한 제거
  • +: 권한 허가
  • =: 권한을 유일한 권한으로 설정한 다음 다른 권한 제거(예시3 참고)

권한의 종류

  • r: 읽기 권한
  • w: 쓰기 권한
  • x: 실행 권한

예시

  1. chmod a-w file.txt
    a: 모두를 의미(3개의 그룹 모두 - 파일 소유자, 그룹 소유자, 이외 사용자)
    -: 제거
    w: 쓰기 권한
    => 모든 사람에 대해 이 파일의 쓰기 권한 취소
  2. chmod u+x file.txt
    u: 파일 소유자
    +x: 실행 권한을 가진 모든 사용자에게 실행
  3. chmod a=r file.txt
    현재 권한: 소유자 권한-rwx, 그룹 권한-rwx, world(모든 사용자) 권한-r
    변경 권한(a=r): 모든 사용자에게 읽기 권한만 적용

8진법

권한별 8진법 이미지

su

su - userName
대체 사용자를 의미
su --login userName: 사용자 로그인
exit 입력시 로그아웃 가능

root 사용자

모든 명령어에 액세스 가능, 모든 명령어 실행 가능, 모든 파일 액세스 가능한 특수 사용자 계정
Ubuntu에서는 root 사용자에 접근할 수 없도록 되어있음(잠겨있음; 유닉스나 리눅스 계열 시스템의 경우는 다름)

sudo

sudo -l: 사용자가 무엇을 할 수 있는지 알려줌
sudo apt update: 우분투 업데이트
-> onebbu의 경우 all(모든 것)을 할 수 있음, 이미지 참고

  • 최초의 사용자(처음 가입해서 첫번째 계정을 만든 사용자)의 경우 모든 권한 수행 가능
  • 이후 만든 사용자는 권한이 제한됨

chown

chown USER[:GROUP] FILE(s)
ownership 변경: 파일이나 디렉토리의 소유자 또는 그룹 소유자를 변경

예시

  1. chown bajack file.txt
    해당 파일의 소유자를 bajack이라는 사용자로 설정
    루트 사용자가 소유권을 가지고 있을 경우: sudo chown~
    일반 사용자가 소유권을 가지고 있을 경우: chown~
    파일 소유자를 바꾸기 위해 루트 권한이 필요(sudo 사용)
  2. sudo chown bajack:horese file.txt
    그룹일 경우 콜론(:)+그룹명

그룹

groups
해당 사용자가 속한 그룹의 목록이 출력됨

그룹 생성

addgroup GROUPNAME
루트 사용자만 가능(sudo 키워드 이용)

그룹 멤버 추가

adduser USER GROUPNAME
루트 사용자만 가능(sudo 키워드 이용)

0개의 댓글