새벽을 밝히는 붉은 달
2021.01.31 오늘의 기록 본문
2학기에 라즈베리파이 프로젝트나 운영체제 과제 등으로 리눅스를 많이 사용했다. 실무에서도 많이 쓰인다고 하기도 하고, 리눅스 쉘에 매력을 느껴 리눅스에 대해서 더 알아가고 싶어져서 이번 방학 때는 리눅스를 공부하기로 했다. 리눅스 배포판은 여러가지 버전이 있으나, 학교에서 우분투를 많이 쓰기 때문에, '이것이 우분투 리눅스이다' 라는 책으로 리눅스를 공부 중이다.
오늘 배운 것✍
- 리눅스에서 앞으로 생성하는 사용자에게 특정한 파일 등을 배포하고 싶다면 /etc/skel 디렉토리에 넣어두면 된다.
새로운 사용자를 생성하면 해당 사용자의 홈 디렉토리 기본 설정은 '/home/사용자이름'으로 지정되며, /etc/skel 디렉토리의 모든 내용을 사용자의 홈 디렉토리에 복사하기 때문이다. - 리눅스에서는 실행 파일이든 텍스트 파일이든 모두 일반적으로 확장명을 갖지 않으며, 확장명을 갖더라도 편리함을 위해서일 뿐 확장명이 파일의 종류를 판단하는 절대적인 의미는 아니기 때문에 해당 파일이 어떤 파일인지 알려면 file 명령을 사용해야 한다.
- chmod 명령을 상대 모드로 사용할 수 있다. 예를 들어 chmod u+x 파일이름은 user에게 execute 권한을 부여한다.
- 파일의 소유권을 바꾸는 chown 명령어는 root 사용자만 실행할 수 있다. (바이러스 파일 전달 등을 막기 위해)
- 리눅스의 파일은 허가권과 소유권이 있다. (허가권은 rwx의 접근 권한, 소유권은 파일 소유자와 파일 소유 그룹)
- setuid bit: 8진수 네 자리 중 첫 번째 값을 100(2)로 표현하는 것, 사용자에 적용, 파일 소유자의 권한을 잠깐 빌려와서 사용하는 효과
setgid bit: 8진수 네 자리 중 첫 번째 값을 010(2)로 표현하는 것, 그룹에 적용, setuid bit와 작동 개념이 비슷함
stiky bit: 8진수 네 자리 중 첫 번째 값을 001(2)로 표현하는 것, 여러 사람이 공유할 디렉토리에 주로 설정, 모든 사용자가 파일/디렉토리를 생성해서 사용할 수 있지만 다른 사용자의 파일을 삭제하지는 못함 - dpkg의 의존성 문제를 해결하기 위해 제공하는 것이 apt 명령어로, dpkg와 별도라기보다 *.deb 패키지를 설치하는 편리한 도구로 생각하면 된다. dpkg는 의존성이 있는 다른 패키지가 설치되어 있지 않으면 설치에 실패하지만, apt는 의존성이 있는 다른 deb 파일까지 알아서 다운로드 후 자동으로 설치해준다.
- apt의 작동 흐름도
1. apt install 입력
2. /etc/apt/sources.list 파일을 열어서 URL 주소 확인
3. 설치와 관련된 패키지 목록을 우분투 패키지 저장소에 요청
4. 우분투 패키지 저장소로부터 전체 패키지 목록 파일만 다운로드
5. 설치할 패키지와 관련된 패키지의 이름을 화면에 출력
6. y를 입력하면 설치에 필요한 패키지 파일을 우분투 패키지 저장소에 요청
7. 설치할 패키지 파일을 저장소로부터 다운로드해서 자동 설치 - 우분투 패키지 저장소
main 패키지: 우분투에서 공식적으로 지원하는 무료 소프트웨어
universe 패키지: 우분투에서 지원하지 않는 무료 소프트웨어
restricted: 우분투에서 공식적으로 지원하는 유료 소프트웨어
multiverse: 우분투에서 지원하지 않는 유료 소프트웨어 - 우분투를 처음 설치하면 자동으로 ufw가 작동하지 않으므로 보안상 켜주는 것이 좋다. 기본적으로 ufw를 켜면 외부에서 접속하는 모든 포트가 닫힌다.
- corn은 주기적으로 반복되는 일을 자동으로 실행할 수 있도록 시스템 작업을 예약해놓는 것이다. 반면, at 명령어는 일회성 작업을 예약하는 것이다.
'Developer > Record' 카테고리의 다른 글
2021.03.04 오늘의 기록 (0) | 2021.03.05 |
---|---|
2021.03.02 오늘의 기록 (0) | 2021.03.03 |
2021.02.14 오늘의 기록 (0) | 2021.02.14 |
2021.02.03 오늘의 기록 (0) | 2021.02.04 |
2021.02.02 오늘의 기록 (0) | 2021.02.03 |
Comments