파일 압축
- 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가 다시 나온다.
다시 압축 풀어보기
파일허가권과 소유권
파일 허가권은 읽기 (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
그룹에 수정할 수 있는 권한 부여
그 외 사용자에게 읽기,쓰기,실행 권한 빼앗기
소유자에게 실행 권한 부여
모든 사용자에 읽기,수정 권한 부여
소유자(유저)와 그룹에 읽기 권한 부여
그룹에 읽기와 실행 권한을 가진다