2019.04.02 TIL
(TIL은 스스로 이해한 것을 바탕으로 정리한 것으로 오류가 있을 수 있습니다)
# 질문에 답하기
- 리눅스의 접근, tar, booting, user
리눅스
- access
- tar
- booting
- user
access
mkdir - directory 만들기
touch - 새로운 파일 만들기 or 최종 수정일자 바꾸기 (없다면 만들고, 있다면 최종 수정 날짜를 만든다)
권한 설정해주기 chmod (change mode)
ex)
$ ls -l
-rwxr--r-x 1 greg greg 400 3월 15 22:10 text.txt
#소유자 / groups/ ohters/ 링크의 갯수 / 소유자 / 그룹 / 바이크 크기 / 최종 수정일자
r: read w: write x: execute 사용자 / 그룹 / 나머지
그룹에 대한 권한을 숫자를 합한 값으로 한자리로 표현할 수도 있다.
0 = — = 0+0+0.
1 = –x = 0+0+1.
2 = -w- = 0+2+0.
3 = -wx = 0+2+1.
4 = r– = 4+0+0.
5 = r-x = 4+0+1.
6 = rw- = 4+2+0.
7 = rwx = 4+2+1.
chmod 777 text.txt # 권한 바꾸기(7은 모든 것을 주는 것이다.)
$ ls -l
-rwxrwxrwx 1 greg greg 400 3월 15 22:10 text.txt
chmod u+r text.txt (user에게 read권한 추가)
chmod g+w text.txt (group에게 write 권한 추가)
chmod o=rwx text.txt (others에게 read, write, execute 권한 추가)
하드링크 & 심볼리 링크
ln test.txt test2.txt - 하드링크
하드링크를 걸어준다. 즉 메모리에는 같은 공간에 있지만 이것을 가르키는 것이 2개로 되는 것이다. 원본 파일이 삭제 되더라도 inode가 같으므로 여전히 사용 가능하다. (원본 파일을 삭제하더라도 레퍼런스 카운터가 0이 되지 않으므로 여전히 사용가능하다) test와 test2가 링크로 연결되고 하지만 서로 저장 공간은 같다.(같은 하드디스크 안에서만 생성 가능)
ln -s text.txt t - 심볼릭 링크
원본 파일의 이름을 가르키는 링크이다. 원본 파일이 사라지게 되면 역할을 수행할 수 없다. 심볼리링크는 ssd와 하드디스크를 서로 연결 시켜줄 수 있다.
위를 통해 심볼릭링크는 다른 id를 가지고 있고 하드링크(test.txt, test2.txt)는 같은 id주소를 가르키는 것을 볼 수 있다.
ls - i (아이노드 - 메모리의 저장 공간 주소)
ls -F : 이게 실행파일인지 심볼리 링크인지 하드링크인지 어떤 것인지 다 볼 수 있다.
file python3 : 이것을 통해서 이 파일이 무엇인지 다 확인해 볼 수 있음
파이썬 특수권한
- setUID : 설정된 파일을 실행할 때 일시적으로 파일 소유자의 권한을 얻어 실행할 수 있도록 한다.
- setGID : SetGID가 설정된 파일을 실행할 때 일시적으로 파일 소유그룹의 권한을 얻어 실행하도록 합니다.
- Sticky Bit : Sticky Bit가 설정된 디렉토리에 파일을 생성하면 해당 파일은 생성한 사람의 소유가 되며 소유자와 root만이 해당 파일에 대한 삭제 및 수정에 대한 권한을 가질 수 있습니다. 즉, Sticky Bit가 설정된 디렉토리안에 누구나 파일을 생성할 수는 있지만 삭제는 본인과 관리자만 가능하게 되는겁니다.
참고 🙂
[UNIX / Linux] 특수 권한(setuid, setgid, sticky bit) :: 오늘도 난, 하하하 리눅스 특수권한(SetUID, SetGID, Stickybit) : 스마일서브 공식 블로그 [ IDC HOWTO ]
vim의 모드
- normal — 켜자마자 나오는 모드
- insert mode —> normal에서 i를 눌러야 한다. esc는 해제
- visual mode —> 블록 설정 normal 에서 v를 눌러야 한다.
- 항상 명령은 normal에서 수행 shift + : ==> 메뉴바
- 빠져나가기 :q
- 저장하기 : wq (저장하고 나가기)
- 좌우이동 : hjkl 만들기
apt_tar.md
tar : 묶는 것만 한다. (type archive)
cvf
- c : create
- v : print info of files
- f : consider the next name as the name of archive
$ tar cvf exam.tar exam1.txt exam2.txt exam3.txt
- exam.tar로 exam1.txt와 exam2.txt와 exam3.txt를 묶어라
cvf로 합쳐진 요소들을 보는 것 tvf
- t : table of contents
$ tar tvf exam.tar
- exam.tar로 묶인 것들을 확인할 수 있다.
cvf로 합쳐진 것을 푸는 것 xvf
- x : extract
$ tar xvf exam.tar
- exam.tar로 묶인 것들을 푼다.
booting
BIOS (basic input output)
- check hardware 를 해서 순서를 체크하고
- boot loader( GRUB )를 실행
리눅스의 서버의 용량이 모자라면 aws를 더 사면 되는데 하드디스크를 하나 더 사서 꼽는다. 그렇게 해서 사용하기 위해서 아래와 같은 행동을 해야 한다.
마운트를 태우기 위해서는
- 일단 파티션을 나눈다.
- swap - ram크기와 비슷하거나, 2배 정도 잡는다.(가상메모리)
- 파일시스템을 만든다.
- 이후에 마운트를 한다.
- 리눅스에 설치를 할 때 디렉토리에 연결해야 한다.
- 사용 이후에 un마운트를 한다.
user
서버에 대한 권한을 준다. 사용자를 추가한다. 그리고 그 사용자에게 비밀번호를 설정하게 하고 그러한 사용자들을 그룹으로 묶을 수도 있다.
리눅스 사용자 추가
sudo useradd -s /bin/sh -m -d /home/john john
사용자 비밀번호 설정
sudo passed john
리눅스파일에 대한 사용자 바꾸기
sudo chown greg test.txt #change own
리눅스 파일에 대한 그룹 바꾸기
sudo chown :greg test.txt
그룹 만들기
sudo grouped wps10
그룹 만들어졌는지 확인
cat /etc/group
그룹에 멤버 추가하기
sudo gpasswd -a greg wps10 cat /etc/group 를 해서 추가됬는지 확인
폴더에 대한 사용자 바꾸기 (가장 하위까지 다 바꿈)
sudo chown -R greg:wps10 test_dir
그룹의 비밀번호 설정
sudo gpasswd wps10
그룹에 사용자 가입
newgrp wps10 그리고 패스워드 입력
그룹지우기
sudo grouped wps10 cat /etc/group 으로 확인
사용자 지우기
sudo userdel -r john cat /etc/p
- 리눅스가 필요할 때 우분투 리눅스 이종원님 책 참고하자!