[정보 보안] 실기이론 - 리눅스 시스템 기본

Cookie·2025년 2월 21일
0

정보보안

목록 보기
32/40

(1) 사용자 정보

💡password 파일

  1. 사용자 계정 정보를 저장하고 있는 파일
  2. 콜론( : ) 을 구분자로 7개의 필드로 구성
  3. 경로 : /etc/passwd


1) 추가 설명

② 의 X 표시 : shadow 패스워드 정책을 사용한다는 의미

③ UID : 시스템 내에서 사용자를 고유하게 식별하기 위한 ID

root 계정의 UID 는 0으로 예약되어 있으므로 주기적으로 부적절하게 UID가 0으로 설정된 일반 사용자 계정이 있는지 점검하는 것이 필요함

④ 모든 사용자는 하나의 기본 그룹에 필수적으로 속함, 필요시 보조그룹에 속할 수 있음

  • 기본 그룹 사용자에게 권한 부여와 함께 사용자의 자원 생성시 자원의 소유 그룹을 결정
  • 보조 그룹 기본 그룹 이외의 추가 그룹 권한 필요시 다른 그룹에 소속되는 그룹

⑤ : 사용자 관련 기타정보 (e.g. 이름)

⑥ : 사용자가 로그인 성송시 위치할 홈 디렉터리

⑦ : 사용자가 호그인에 성공한 후 동작할 쉘 프로그램



2) 쉘(SHELL)

  • 사용자와 커널 간 인터페이스 역할을 하는 프로그램
  • 사용자의 명령어를 해석하여 커널에 전달하고 결과를 출력해줌
  • 로그인 쉘 필드에 반드시 로그인 쉘만 설정할 수 있는 것이 아니므로 사용자 로그인시 악성 쉘 이 실행되도록 설정하는 예도 있으므로 주기적으로 점검하는 것이 필요함




(2) 그룹 정보

💡 group 파일

  1. 그룹 정보를 저장하고 있는 파일
  2. 콜론( : ) 을 구분자로 4개의 필드로 구성됨
  3. 경로 : /etc/group



1) 사용자 ID 와 사용자가 속한 그룹 ID 정보 확인

  1. id 명령어는 “Identification”의 약자로 현재 사용자 또는 지정한 사용자의 ID관련 정보를 조회할 때 사용
  2. 예시
    [testuser @fedora11 ~]$ id testuser
     uid-519(testuser) gid=514(dev) group=514(dev), 10(wheel), 509(ss)


2) 사용자 패스워드 변경

  1. 일반 사용자는 자신의 패스워드만 변경할 수 있음
    슈퍼유저인 root 는 자신을 포함한 시스템에 등록된 모든 사용자의 패스워드를 변경할 수 있음
  2. 예시
    [root@fedora11 ~]$ id
    uid-519(testuser) gid=514(dev) group=514(dev), 10(wheel), 509(ss)
    [root@fedora11 ~]$
    [root@fedora11 ~]$ passwd
    Changing password for user testuser
    Changing password for testuser
    New password:
    Retype new password:
    Passwd: all authentication token update seccessfully
    [root@fedora11 ~]$ 
    [root@fedora11 ~]$ passwd alice
    Passwd: Only root can specify a user name.
    [root@fedora11 ~]$
    • 일반 사용자 계정으로는 다른 사용자의 패스워드 변경 불가
    • root로 다른 사용자 계정의 패스워드 변경 시 기존 패스워드 확인 과정 없이 신규 패스워드 입력 및 확인 과정을 통해 변경이 완료됨




(3) 입출력 재지정(I/O Redirection)

입출력 재지정이란 표준 입,출력 에러를 키보드나 모니터가 아닌 파일로 재지정하는 기능

프로그램(명령어)을 실행하면 커널(OS)에 의해 프로세스가 생성되고 프로세스는 기본적인 입출력(I/O)을 위한 다음 3개의 파일(통신 채널) 을 오픈함

1. 표준 입력(STDIN FD:0)

  • 키보드 등 으로부터 입력받기 위한 파일(통신 채널)

2. 표춘 출력(STDOUT FD:1)

  • 수행 중에 발생한 정상메시지를 모니터로 출력하기 위한 파일(통신 채널)

3. 표준 에러(STDERR FD:2)

  • 수행 중에 발생한 에러메시지를 모니터로 출력하기 위한 파일(통신 채널)

4. 실습

  • > : Overwrite Mode
  • >> : Append Mode
  1. 출력 재지정 1

    cookie@Cookies-DESKTOP:~$ id cookie > id.out
    cookie@Cookies-DESKTOP:~$ cat id.out
    uid=1000(cookie) gid=1000(cookie) groupd=1000(cookie)
    cookie@Cookies-DESKTOP:~$ id cookie >> id.out
    cookie@Cookies-DESKTOP:~$ cat id.out
    uid=1000(cookie) gid=1000(cookie) groupd=1000(cookie)
    uid=1000(cookie) gid=1000(cookie) groupd=1000(cookie)
  2. 출력 재지정 2

    cookie@Cookies-DESKTOP:~/testfolder$ ls -l a.dat b.dat
    ls: cannot access 'b.dat': No such file or directory
    -rw-r--r-- 1 cookie cookie 0 Jun 30 17:27 a.dat
    cookie@Cookies-DESKTOP:~/testfolder$ ls -l a.dat b.dat 1>ls.out 2>ls.err
    cookie@Cookies-DESKTOP:~/testfolder$ cat ls.out
    -rw-r--r-- 1 cookie cookie 0 Jun 30 17:27 a.dat
    cookie@Cookies-DESKTOP:~/testfolder$ cat ls.err
    ls: cannot access 'b.dat': No such file or directory
    cookie@Cookies-DESKTOP:~/testfolder$ ls -l a.dat b.dat 1>ls.out 2>&1
    cookie@Cookies-DESKTOP:~/testfolder$ cat ls.out
    ls: cannot access 'b.dat': No such file or directory
    -rw-r--r-- 1 cookie cookie 0 Jun 30 17:27 a.dat
    cookie@Cookies-DESKTOP:~/testfolder$
  • 재지정할 파일명으로 파일번호(FD)를 사용할 수 있으며 &기호를 추가하여 표현함
    • &1 : 표준 출력
    • &2 : 표준 에러




(4) 파이프(Pipe) 또는 파이프라인(Pipeline) 기능

유닉스 초기 시절부터 지원하는 프로세스간 통신을 위한 기법

  • 프로세스(명령)의 표준 출력을 다른 프로세스(명령)의 표준 입력으로 전달해주는 기능
  • 명령어의 실행 결과를 다른 명령어의 입력으로 전달하여 처리하도록 하는 기능
  • 명령어와 명령어 사시에 파이프 기호 사용(’ | ‘)


💡 실습




(5) 특수 문자(메타 문자, Meta charater)

쉘 명령에서 정의된 특별한 기능의 특수 문자

profile
나만의 공부 일지... [임시 休]

0개의 댓글