ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 리눅스 보안 introduction
    운영체제보안 2024. 10. 12. 17:43

    리눅스 매뉴얼 페이지

    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
Designed by Tistory.