일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- polymorphism
- stride
- linear difference equation
- DP
- 유스케이스
- 유니티
- sampling theory
- DSP
- Race condition
- Frequency Response
- MAC
- SNR
- convolution
- Security
- frequency-domain spectrum analysis
- 배경 그림
- Unity #Indie Game
- 운영체제
- AINCAA
- pdlc
- STCF
- dtft
- ret2libc
- RBAC
- 게임 개발
- 게임개발
- 메카님
- MLFQ
- dirty cow
- link layer
- Today
- Total
다양한 기록
리눅스 보안 introduction 본문
리눅스 매뉴얼 페이지
Section | Description |
1 | 실행 파일, 쉘 명령어 |
2 | 시스템 콜 |
3 | 라이브러리 함수 |
4 | 특수 파일 (주로 /dev 의 장치 파일이나 특수파일) |
5 | 파일 형식과 규칙 (구성 등.. /etc/passwd) |
6 | 게임 |
7 | 기타 (매크로 매키지 및 규칙) |
8 | 시스템 관리 명령어 (루트가 쓰는 거) |
9 | 커널 루틴 (비표준) |
6번의 게임은 진짜 게임 말하는 건데 옛날에는 텍스트 기반 게임이 유닉스 초기에 있었다고 함
퀴즈
무슨 차이인가
1번은 실행 파일에 사용법.. /usr/bin/passwd
2번은 파일 형식을 .. /etc/passwd 파일 구조 및 형식 정보
fork(), system(), execve() .. 이런 애들은 2번 매뉴얼을 사용해야 함
* uname -a : 모든 시스템 정보 출력
리눅스 디렉토리 구조
/ => 루트
/bin : 유저 명령어 바이너리
/etc : 환경 설정
/sbin : 시스템 바이너리 (ex. fdisk, mkfs ..)
/user : 리드 온리 유저 어플리케이션 서포트 데이터 및 바이너리
/var : variable data files
/dev : 장치 파일
/proc : 프로세스 정보. pid가 폴더 이름임
커맨드
id, who(로그인한 사용자 정보), whereis(명령어 위치), size(코드, 데이터, bss 세그먼트 크기), chmod, chown, groups, chgrp, su,
file(파일 유형 식별), ps, chsh, ps, exit ..
* ls -i:inode 번호 함께 출력
Users
각 유저는 user ID를 부여받음
/etc/passwd 에 저장됨
root:x:0:0:root:/root:/bin/bash
유저이름:비밀번호있던자리:uid:gid:사용자설명:홈디렉토리:기본쉘
원래 x에는 암호화된 패스워드가 있었는데 아무나 못읽는 자리로 옮김.. /etc/shadow
id 명령어
현재 사용자의 uid, gid, 속한 그룹을 알 수 있음
sudo 그룹에 속함 => sudo 명령 사용 가능
more /etc/group
그룹이름:비밀번호:그룹ID:그룹에 속한 사용자 목록
위 이미지에서는 속한 사용자가 없어보이는데 /etc/passwd에서 기본그룹으로 지정받으면 여기에 없어도 그룹에 속할 수 있음
Group
그룹에 기반하여 퍼미션 설정 가능하고, 유저는 여러 그룹에 속할 수 있음
groups가 존재하는 그룹 보여줌
그룹에 유저 추가
1. /etc/passwd 에 직접 더하기 => 이 경우 새 그룹이면 /etc/group도 수정 필요
2. adduser 커맨드
다른 유저로 전환
su
그룹 만들고 유저 그룹에 더하기
sudo groupadd alpha
sudo usermod -a -G alpha alice
앨리스를 알파 그룹에 추가
우분투에서 sudo 사용법
1. sudoers 에서 [ %sudo ALL=(ALL:ALL) ALL ] 처리가 주석처리 되어 있지 않고 멀쩡히 있을 것
2. /etc/group 에 sudo 그룹에 유저 추가가 되어 있을 것.
CentOS에서는 그룹 이름이 wheel임
sudo id
관리자 권한으로 id 실행하니 루트 거 나옴
sudo more /etc/shadow
<사용자 이름>:<암호화된 비밀번호>:<비밀번호 변경일>:<최소 사용 기간>:<최대 사용 기간>:<경고 기간>:<비밀번호 만료 기간>:<계정 만료 기간>:<예약 필드>
shadow에 암호화된 비밀번호가 저장되고 루트만 쓰기 가능
솔트값이 있어서 우연히 같은 패스워드가 쓰여도 실제 저장은 다르게 되어 좀 더 안전할 것임
printenv | more
환경 변수 보기 ..
PATH=....
echo $PATH 시 패스 내용 보기 가능
명령어 찾을 때 패스에 적혀있는 순서대로 찾음
똑같은 거 여러 개 있으면 먼저 나온 걸 실행
/bin/ls 와 /usr/bin/ls
/usr/bin/ls가 먼저 실행됨. 패스에 먼저 써 있음
근데 사실 두 개 inode 같은 거라 같은 명령임
리눅스에서 유저와 슈퍼유저
사용자는 노말 유저랑 루트(uid 0)로 나뉘는데 루트가 너무 강함
=> 리눅스 캐이퍼빌리티
'운영체제보안' 카테고리의 다른 글
Running Command with Privilege (0) | 2024.10.12 |
---|---|
File permissions (0) | 2024.10.12 |
Trusted OS (0) | 2024.10.12 |
Threats and Security Issues related to OS (0) | 2024.10.12 |
Security Goals (0) | 2024.10.12 |