권한

- 파일/파일/디렉터리를 사용할 수 있는지 정하는 개념(or )

- 허가권과 소유권으로 구분

    > 허가권 + 소유권 = 권한

 

허가권

- ls -l 명령을 입력했을 때 나오는 출력 내용 중 개체 형식을 나타내는 첫 글자 뒤에 오는 9개의 글자가 허가권

- 8가지 문자로 권한을 표현 : r, w, x, -, s, S, t, T

        r, w, x, - : 일반 권한 표현 문자

        s, S, t, T : 특수 권한 표현 문자

- 일반 권한 표현 문자의 의미

 r : 읽기, w : 쓰기, x : 실행/접근, - : 권한 없음
r 파일 파일 내용 읽기 ; cat, head, tail, more, less, vi 열었을때 등
디렉터리 디렉토리 내부 목록 확인 ; ls, GUI환경에서 폴더 들어 갔을때 등
w 파일 파일 내용 수정 ; 문서 편집 후 저장, > 기호를 이용 하여 덮어쓰기/내용추가 등
디렉터리 디렉토리 내부 목록 수정 ; 디렉토리 내부 하위 파일/ 디렉토리 생성/삭제/수정 등
x 파일 실행 ; 파일에 x가 없으면 일반 문서 파일, x가 있으면 실행 파일 (ex. 명령어)
디렉터리 접근 ; 디렉토리에 x가 없으면 디렉토리 자체 및 내부의 항목들을 사용할 수 없다.

 

- 9자리의 권한 문자는 기본적으로 r w x 가 세 번 반복되는 형식이고, 없는 권한은 - 대체

 

9자리의 권한 문자를 3개씩 끊어서 Owner, Group, Other 영역으로 구분
Owner 소유자를 위한 권한(소유자 : 파일/디렉토리를 소유 중인 사용자)
Group 그룹 사용자를 위한 권한(그룹 사용자 : 파일/디렉토리를 소유 중인 그룹에 소속된 사용자)
Other 그 외 사용자를 위한 권한(그 외 사용자 : Owner, Group 둘 다 해 당되지 않는 사용자)

* 3개의 영역중 어느 영역의 권한을 적용받는지에 대한 내용은 소유권에 서 결정

 

ex> Owner | Group | Other

        r w x       r - x      r - x

 

- 권한 표현 방법

1. 문자를 이용한 방법

r, w, x, - : 문자를 차례대로 읽어주는 방법

 

 

2. 숫자를 이용한 방법

문자를 바탕으로 숫자 값을 계산

   * 계산 방법

     1) 영역 분리

     2) r = 4, w = 2, x = 1, - = 0이라는 값을 각 문자에 대입 후 영역별로 합 계산

     3) 각 영역에서 구한 합에 Owner : 100, Group : 10, Other : 1을 곱해 서 전체 합을 계산

 

ex)

1. rwx r-x r-x > 755

Owner Group Other
r w x r - x r - x
4 2 1 4 0 1 4 0 1
7 5 5
x100 x10 x1
700 50 5

 

2. rw- r-- r-- > 644

Owner Group Other
r w - r - - r - -
4 2 0 4 0 0 4 0 0
6 4 4
x100 x10 x1
600 40 4

 

- 허가권 변경

        chmod [옵션] 권한값 대상 [대상] ... [대상]

 

   * 권한 값을 숫자 or 문자로 입력

     숫자는 전체 권한 값을 입력 > numeric method

     문자는 영역을 의미하는 문자에 권한 문자를 +,- 연산 > symbolic method

        ** symbolic method에서 사용하는 영역 문자

             u : owner

             g : group

             o : other

 

소유권

- 파일이나 디렉터리를 어느 사용자와 그룹이 소유하고 있는지 나타내는 권한

     > ls -l 명령으로 출력되는 정보 중 링크 개수 뒤에 나오는 사용자명과 그룹명이 소유권

- 소유권을 두 개의 영역으로 구분

     > 앞에 나오는 정보가 계정명(UID), 파일/파일/디렉터리를 소유하고 있는 사용자

        뒤에 나오는 정보가 그룹명(GID), 파일/파일/디렉터리를 소유하고 있는 그룹

 

- 소유권 변경

          chown [옵션] 권한 값 대상 [대상] ... [대상]

 

   * 권한 값 작성 방식( : 기호 대신. 기호. 사용 가능)

          UID >> 소유권의 UID 지정

          UID:GID >> 소유권의 UID, GID 지정

          UID: >> 소유권의 UID,GIDUID, GID를 특정 사용자의 UID, GID로 변경

          :GID >> 소유권의 GID 지정

 

허가권과 소유권이 적용되는 방식(★★★★★)

1. 작업 주체와 작업 대상의 UID, GID확인

     작업 주체: 작업을 수행하는(명령을 입력받은) 사용자 >> 사용자 정보 중 UID, GID(/etc/passwd 파일, id 명령)

     작업 대상: 작업(명령)의 대상이 되는 파일/디렉터리/디렉터리>> 소유권 UID, GID(ls 명령의 -l 옵션이나 -n 옵션)

 

2. 작업 주체와 작업 대상의 UID, GID 비교

     1) UID 비교 >> UID 일치하면 허가권의 owner 영역 권한 적용, 일치하지 않으GID 비교

     2) GID 비교 >> GID 일치하면 허가권의 group 영역 권한 적용, 일치하지 않으면 허가권의 other영역 권한 적용

 

특수권한

- 특수한 동작을 하는 권한

   > 특수한 목적으로 사용하는 권한

 

- setUID, setGID, sticky bit 3가지의 특수 권한이 있다.

 

4777 r w s r w x r w x : setUID (안 쓰는 걸 강추)

2777 r w x r w s r w x : setGID

1777 r w x r w x r w t : sticky bit

   * x 위치의 문자가 s/t로 변경(x가 있는 상태였다면 소문자 s/t, x가 없는 상태였다면 대문자 S/T)

ex>

rws r-x r-x : 4755

rwS r-x r-x : 4655

 

sticky bit

- 디렉터리에 설정하는 특수 권한

- 디렉터리 내부에 파일/디렉터리 생성은 권한만 있으면 누구나 가능하지만

파일/디렉터리 삭제는 대상의 소유자(소유권의 UID)와 관리자만 가능

 

setUID

- 실행 파일에 설정하는 특수 권한

- 파일이 동작하는 동안 owner의 권한을 사용할 수 있도록 해주는 특수 권한

   > 동작하는 동안 owner가 된다라고 생각해도 큰 차이가 없다.

 

rpm

- redhat package manager; 패키지를 이용한 프로그램/서비스 관리

   * 패키지 : 프로그램을 나눠놓은 조각

- Linuxkernel부터 시작하여 모든 구성이 패키지로 이루어져 있고 패키지는 다른 패키지와 의존 관계에 놓여있는 경우가 많다.

   > 패키지 설치/삭제 과정에서 의존성 관련 오류가 굉장히 많이 나온다.

- rpmredhat에서 처음 만들어서 도입했고, redhat기반의 모든 Linux에서는 rpm명령어 사용

   > debian 기반의 Linux에서는 rpm이 아닌 dpkg 명령 사용

 

- 형식

   설치 : rpm -ivh 패키 지명-버전. 아키텍처. rpm

 

   확인 : rpm -qa | grep 패키지명

 

   삭제 : rpm -e 패키지명[-버전.아키텍처]

 

- 패키지 이름 구조

 

vim-filesystem-7.4.629-7.el7.x86_64

<----------------->|<----------->|<-------->

      패키지명          버전      아키텍처

 

1. 패키지명

- 패키지명은 한 단어이거나 - 기호를 이용한 여러 단어의 조합으로 구성

  (패키지명에 숫자만 단독으로 나오는 경우가 없기 때문에 버전과 구별 가능)

- 한 단어이면 해당 패키지로 설치되는 프로그램 or 서비스 이름을 나타낸다.

- 여러 단어이면 첫 단어가 설치되는 프로그램 or 서비스 이름이고 뒤에 이어지는 단어들이 세부 역할을 의미한다.

 

 

2. 버전

- 버전은 여러 가지 세부 버전으로 구성

7 major
4 minor
629 patch
7 release
el7 OS

* OS 버전 예시

el7 = CentOS 7 버전 전체

el7_9 = CentOS 7.9 버전

centos = 모든 버전의 CentOS

<생략> = 모든 종류/버전의 운영체제

 

3. 아키텍처

     CPUbit와 관계되어서 특정 수준의 CPU이상에서 사용 가능하다 라는 의미

        > CPU의 bit 수는 한 번에 처리 가능한 데이터의 bit

 

          32 bit : i386, i586 ,i686 (잘 사용하지 않음)

          64 bit : x86_64

          공용 : noarch

 

- 의존성 오류

1. 확인 방법

     A is needed by B : B에게 A가 필요하다.

 

1) 설치할 때

     (설치하려는 패키지가 B 위치에 출력)

     B를 설치하기 위해 A가 먼저 설치되어야 한다.

 

2) 삭제할 때

     (삭제하려는 패키지가 A 위치에 출력)

     B에게 A가 필요하기 때문에 A를 삭제할 수 없다.

 

2. 해결 방법

     1) 의존성 오류 메시지를 읽고 해당 내용 해결

 

     2) 의존성 오류를 무시하는 보조 옵션 --nodeps 사용

        > 패키지를 확인했을 때 중요 패키지이거나(삭제할 때) 찾을 수 없는 패키지라 (설치할 때) 의존성 오류를 무시한다.

 

3. 의존성 오류에서 패키지명이 아닌 다른 내용이 출력되면

     1) 파일의 절대 경로

        > 패키지에 해당 파일이 포함되어 있는 경우 (일반적으로 삭제할 때 출력)

           파일명을 패키지 이름처럼 읽으면 된다.

 

2) lib~~~.so.숫자(~~~)

     > ~~~ 부분이 패키지를 의미(설치/삭제 시 전부 출력)

        해당 의존성 오류를 검색하여 패키지명 확인

 

3) pkgconfig(~~~)

     > ~~~ 부분이 패키지를 의미(일반적으로 설치할 때 출력)

       해당 의존성 오류를 검색하여 패키지명 확인

 

yum

- Internet을 이용한 자동 패키지 관리

   > 반드시 Internet이 연결되어 있어야 사용 가능

 

- 의존성 오류까지 전부 해결

 

- 형식

yum [옵션] { install | update | remove } 패키지명
intstall  설치
update 업데이트
remove 삭제
history list 스냅샷과 같은 기능

* 옵션

-y : y/N 물어볼 때 자동으로 y 입력

 

※ yum clean all : 캐시 메모리를 삭제하는 명령어

     - 이전 작업이 중지되게 되면 캐시 메모리로 넘어가게 되는데 다른 명령어를 실행할 때 영향을 줄 수도 있기 때문에 캐시 메모리를 제거한 후 재연결을 한다.

'리눅스' 카테고리의 다른 글

파티션 실습  (0) 2022.10.19
디스크  (0) 2022.10.18
사용자 계정 실습  (0) 2022.10.17
사용자 계정  (1) 2022.10.17
VI 에디터  (0) 2022.10.13

+ Recent posts