18일차

장민우·2024년 4월 19일

사용자 생성 시 기본값


$cat /etc/default/useradd
/etc/default/useradd 파일에서 사용자 생성 시 기본값을 확인할 수 있다.

  • 사용자 계정 생성시 기본값 확인
    $useradd -D
  • 사용자 계정 생성시 기본값 지정
    $useradd -D [OPTION}..
옵션설명
-b DIRECTORY사용자 계정의 홈 디렉터리가 생성될 기본 경로 지정
-e EXPIRE_DATE사용자 계정 만료일 지정
-f DAYSINACTIVE_DAYS 지정
-s SHELL사용자의 기본 쉘 지정
  • 예시
  • SHELL
    /bin/sh : Bourne Shell
    /bin/bash : Bash Shell
    /sbin/nologin : 로그인을 할 수 없는 쉘로 사용. 사용자 계정 권한 인증 가능.
    /bin/false : 로그인을 할 수 없는 쉘로 사용. 사용자 계정 권한 인증 불가능.

/etc/skel : Skeleton Diretory로 사용자 홈디렉터리의 초기 파일을 준비하는 디렉터리

사용자 및 그룹 관리


사용자 전환

  • su(Subsititute User)
    - 현재 사용자에서 다른 사용자로 사용자를 전환하여 쉘을 사용하는 명령어.
    - 다른 사용자로 전환시 전환하고자 하는 대상 사용자의 패스워드를 입력하여 전환함.

$ su [OPTION]... [USER]

$su USER : 현재 쉘 환경을 유지한 채로 다른 사용자로 전환

$su -USER

$su -l USER : 전환하고자 하는 대상 사용자의 쉘 환경으로 쉘을 초기화 하여 다른 사용자로 전환

  • sudo
    - 다른 사용자의 권한으로 명령어를 1회 실행하는 명령어.
    - 다른 사용자의 권한으로 명령어 실행시 현재 사용자의 패스워드를 입력.
    - sudo 구성파일 /etc/sudoers에서 허용된 사용자만 사용 가능함.
    - root 사용자의 비밀번호를 노출하지 않기 때문에 su보다 권장함.
    $sudo COMMAND

사용자 패스워드


/etc/shadow 구조
USERNAME:HASHED_PW:LASTCHANGE:MIN:MAX:WARN:INACTIVE:EXPIRE:BLANK

$HASH_ALGORITM$SALT$HASHED_PW(PW+SALT) - 동일한 패스워드면 해시값이 같기 때문에 임의의 SALT값을 추가함.

  • MD5 : 1
  • SHA-256 : 5
  • SHA-512 : 6

사용자 계정 패스워드 및 계정 정책 설정
$chage [OPTION]... USER

  • l : 특정 사용자 계정의 계정 및 패스워드 정책 확인
  • d DAY : 패스워드의 LASTCHANGE를 설정 -d 0으로 설정시 해당 사용자는 다음 로그인 시 패스워드를 바로 변경해야 함.
  • m DAY : 패스워드의 최소 사용기간 설정(MINDAYS)(단위 : DAY)
  • M DAY : 패스워드의 최대 사용기간(MAXDAYS)(단위 : DAY)
  • W DAY : 패스워드 최대 사용기간 만료 전에 경고를 보여주기 위한 기간(WARNINGDAYS) 설정
    WARNINGDAYS 기간 동안은 패스워드를 바로 변경하지 않아도 로그인 가능함.
  • I DAY : 패스워드 최대 사용기간 만료 후 일정 기간 내에 로그인 시 로그인이 가능한 기간(INACTIVEDAYS) 설정
    로그인 직후 패스워드를 반드시 변경해야 사용이 가능함.
  • E YYYY-MM-DD : 사용자 계정의 만료일을 지정한 날짜로 지정

고급 권한 관리


  • 파일 소유권
    - 소유자 : 파일을 소유한 사용자
    - 소유그룹 : 파일을 소유한 그룹(여러 사용자들이 파일을 공동으로 관리 하기 위한 그룹)
    - 파일의 초기 소유권 :소유자는 파일을 처음 생성한 사용자 일반적인 경우 소유자의 기본 그룹으로 지정


  • 파일의 소유권 설정

    • 파일의 소유자 설정
      $ chown [OPTION]... USER FILE

    • 파일의 소유그룹 설정
      $ chown [OPTION]... :GROUP FILE
      $ chgrp [OPTION]... :GROUP FILE

    • 파일의 소유자 및 소유 그룹 한번에 설정
      $ chwon [OPTION].. USER:GROUP FILE

      -R : 디렉터리 및 디렉터리 하위 파일에 일괄 설정

확장 권한


SetUID(4) : 파일 실행시 파일 소유자의 권한으로 파일 실행하는 확장 권한
$ chmod 4755 file
$ chmod u+s file

SetGID(2) : 파일 실행시 파일의 소유 그룹의 권한으로 파일 실행하는 확장 권한
디렉터리에 SetGID 설정시 디렉터리의 소유그룹을 상속하는 확장 권한
$ chmod 2755 file
$ chmod g+s file
Sticybit(1) : 디렉터리에 지정되며 해당 디렉터리에서 파일 삭제시 파일의 소유자만 파일을 삭제할 수 있도록 하는 확장 권한
$ chmod 1777 file
$ chmod o+t file

  • RUID(Real UID) : 실제로 프로세스를 실행한 사용자
  • EUID(Effective UID) : 실행되는 프로세스에 적용된 사용자 권한

setuid가 적용되면 RUID와 EUID가 다름.

0개의 댓글