리눅스#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개의 댓글

관련 채용 정보