리눅스#4

최동민·2022년 7월 9일
0

Linux

목록 보기
4/25

파일 압축

  • root에 있는 tmp 디렉터리 기존 파일을 다 지우고 /etc/passwd 파일을 복사해온다. 이름을 newpw로 변경

    파일 2개더 생성

    newG 파일을 압축해본다.
    xz newG

    압축을 다시 풀어본다

    gzip new G

    다시 압축 풀기

    bzip2 newG

    다시 압축 풀기

    어떤 방법으로 압축하느냐에 따라 파일의 크기가 다르다는 것을 확인할 수 있다.
    gz가 많이 쓰임.

tar(Tape Archive)

: 확장명 tar로 묶음 파일을 만들거나 묶음을 풀어주는 명령어

  • c
    : 새로운 묶음을 생성
  • x
    : 묶인 파일을 풀어줌.
  • v
    : 파일을 묶거나 푸는 과정을 보여줌(visual)
  • f
    : 묶음 파일 이름을 지정함 (필수 옵션)
    tar cvf newTar newG newpw source
    newG newpw source 이 세개를 newtar라는 tar로 묶겠다.

    보아하니 용량이 커짐. 고로 압축과 같이 진행해야겠다.
    mv newTar ~
    : 내 홈디렉터리로 옮긴다
    cd ~
    : 홈디렉터리로 이동 후
    tar xvf newTar ~

    tar tvf newTar
    안에 어떤 파일이 있는지 볼 수만 있다

    tar cvf myTar newG newpw source

    gzip으로 압축해보니 용량이 굉장히 작아진다

    newG newpw source 삭제 하고
    myTar.gz 압축파일만 남겨둔 후 압축을 풀어보면
    압축해두었던 newG newpw source가 다시 나온다.

    다시 압축 풀어보기
  • newG와 ./newG 의 차이
    그냥 newG는 echo $PATH 디렉터리 안에 있는 파일들을 우선으로 실행시킨다.
    './newG' 현재 파일에 있는 newG를 실행시켜 달라는 것이다.

파일허가권과 소유권

파일 허가권은 읽기 (read), 쓰기 (write), 실행 (execute) 3가지가 존재한다

  • finduser 로 이동 후 권한을 확인해보았다

    finduser는 r-- 즉 그 외 사용자(other)에 해당.

    보다시피 r-- 이기에 cat은 가능(읽기가 가능하다는 것). 하지만 w (파일 내용 수정 권한) 와 x (실행파일을 실행시키는 권한) 는 없다.

    write가 없으니 디렉터리에 파일쓰기(touch)가 불가능.

chmod

파일의 허가권을 변경하는 명령어.
root 사용자 또는 해당 파일의 소유자만 실행 가능

  • chmod 옵션 모드 파일명
    8진수 숫자로 권한을 설정
  • chmod o+x newG
    newG라는 파일에 other 들에게 실행권한(x)을 주겠다,
  • chmod g-rw,o-r newG

    -rwxrw-rwx 에서 -rwx----wx로 변경되었다.

chown

: 파일의 소유권을 변경하는 명령어 (사용자 + 그룹)

  • root는 기본적으로 0을 가진다.
  • GID는 그룹아이디를 뜻함.

chgrp

: 파일의 소유권을 변경하는 명령어 (그룹만)

umask

: 파일/디렉터리 생성 시 부여되는 기본 권한을 지정하는 명령어
파일 생성 시에는 666, 디렉터리는 777에서 설정한 umask 값을 뺀 값을 기본 허가권으로 지정.

  • 소유권을 finduser로 변경해보자.


    다시 돌려놓기

    chown와 chgrp는 root만 된다.

    새로운 디렉터리와 파일을 만들어보았다.
    디렉터리는 777에서 빼주고 파일은 666에서 빼준다.
    디렉터리 777 - 022 = 755
    파일 666 - 022 = 644
    현재 기본 권한이 이렇게 되어있다.


    666에서 644를 뺀 022로 testFile이 만들어졌다. -----w--w--

    다시 default값인 022로 돌아간 후 newFile을 만들어보니 -rw-r--r--로 만들어진다.

root 비밀번호 재설정
nano /etc/default/grub

이렇게 변경
화면을 건너뛸건가에 대한 속성을 주석처리.
어느정도 지속할 것인가에 10초로 수정.

update-grub해주기

그리고 reboot 해주면 부팅 중 화면이 뜨는데, Ubuntu에서 E 입력. 맨 마지막줄 바로 윗 줄 맨 마지막에 init=/bin/bash 입력 후 컨트롤 x로 재부팅.
mount -o remount,rw /
mount

passwd 로 비밀번호 재설정 후 껐다키기

복사 붙여넣기 기능 사용 원하면 클릭

바탕화면에 cd모양의 VMware tool DVD 클릭

이 안에서 open in terminal 누르고 아래 입력


y누르고 쭈욱 엔터

reboot하면
컨트롤 쉬프트 c 로 복사, v로 붙여넣기 가능해짐

특수권한

: 파일 허가권에서 8진수 3자리가 아닌, 8진수 4자리로 표시하는 방법
파일의 소유권을 빌려와서 사용할 수 있는 권한을 의미.

SetUID

: 8진수 네 자리 중 첫번째 값을 2진수 100인 4로 표현하는 것.
rwx가 아닌 rws로 표시됨.
chmod u+s 파일명 명령어로 설정가능

  • 대표적인 예) 사용자의 패스워드를 변경하는 /bin/passwd
    읽을수도 있고 실행도 가능.

    권한을 변경해본다.

    파일을 실행파일로 만들면 명령을 실행할 수 있다.
    현재 만들어진 유저 정보를 볼 수 있다.

이 파일을 실행할 때 그룹의 권한을 얻는다
그게 SetUID이다

ls -l 해보면

기본 디렉터리 만들어보면
누구든지 이 디렉터리에 들어오는 건 되지만 생성은 불가능.
1757로 변경.


600
-rw-r--r--
-rwx------
755
711
-rw-rw-rw-
777
-rw------x

-w--------
652
717
222
-r--rw---w
-rw-rwx--x
467
디렉토리 700
디렉토리 755
그룹에 수정할 수 있는 권한 부여
그 외 사용자에게 읽기,쓰기,실행 권한 빼앗기
소유자에게 실행 권한 부여
모든 사용자에 읽기,수정 권한 부여
소유자(유저)와 그룹에 읽기 권한 부여
그룹에 읽기와 실행 권한을 가진다

profile
코드를 두드리면 문이 열린다

0개의 댓글