오픈소스소프트웨어 정리 #06 사용자 관리

yuju9·2022년 10월 9일
0

사용자 정보 검색

whoami

현재 사용자를 알려줌

who

현재 시스템에 로그인 되어있는 사용자들에 대한 정보를 알려줌

w

현재 시스템의 워크로드와 로그인한 사용자들이 수행중인 태스크를 보여준다

id

현재 사용자에 대한 사용자ID, 기본그룹ID, 소속 그룹리스트를 보여준다


su 명령

  • su 명령: 다른 사용자 ID로 '새로운 쉘을 시작'하는 명령
  • su [-] [username]
  • ex.
  • username에 해당하는 사용자로 새로운 쉘을 시작. 새로운 사용자의 암호를 입력해야 성공적으로 동작
    • user id를 인자가 없는 경우 root 사용자로 쉘을 시작
    • 현재 사용자가 root인 경우 암호 없이 임의의 사용자로 변경 가능
  • -옵션은 user 로그인 환경(환경변수&현재 디렉토리)을 그대로 적용하려는 경우에 선택
  • 새로 생성된 쉘을 빠져나오려면 'exit' 명령 사용

sudo 명령

  • sudo 명령: 다른 사용자(root가 디폴트)로 '명령을 수행'하는 프로그램
    • /etc/sudoers 파일을 통해 sudo 명령을 이용할 수 있는 사용자를 설정
    • root 사용자의 암호를 몰라도 root 권한으로 명령을 수행할 수 있음

sudo su -

  • ubuntu에서 root 사용자로 쉘을 사용하기 위한 명령
  • 우분투에서는 root 사용자에 대해 암호가 없으므로 root사용자로 로그인하는 것이 불가능(보안측면에서 우수)
  • 따라서 sudo를 통해서만 root 사용자로 쉘 사용 가능
  • /var/log/auth.log를 통해 root 사용자에 대한 sudo 사용 내용 볼 수 있음

/etc/passwd

  • 리눅스 사용자에 대한 정보를 유지하는 파일
  • ':' 문자로 각 컬럼의 값을 구분
  • 각 컬럼의 정보
    • 사용자 이름
    • x
    • 사용자 ID
    • 기본 그룹ID
    • 사용자에 대한 설명
    • 홈디렉토리
    • 로그인 쉘


사용자 생성과 제거

사용자 생성

  • /user/sbin/useradd
  • /user/sbin/adduser

사용자 제거

  • /user/sbin/userdel
  • /user/sbin/deluser

사용자 정보 변경

  • /user/sbin/usermod

관련파일

  • /etc/default/useradd
    : 새로 생성되는 사용자에 대한 디폴트 설정값 보관
  • /etc/skel/
    : 새로 생성된 사용자의 홈디렉토리에 복사될 파일들이 위치

cash

  • 자신의 로그인쉘을 변경하는 명령
    ex. chsh -s /bin/ksh

암호 변경

passwd [username]

  • 인자로 주어진 사용자에 대한 암호를 변경
  • 인자로 주어지지 안흔 경우, 현재 사용자의 암호를 변경

/etc/shadow

  • 각 사용자에 대한 암호를 관리하는 파일(암호는 암호화되어 저장됨)
  • ':'으로 구분된 컬럼값 유지
    • 사용자 이름
    • 암호화된 암호
    • 가장 최근 암호가 변경된 날짜
    • 암호를 변경할 수 없는 날짜수
    • 암호 만료일
    • 암호 변경 경고 날짜수
    • 암호 만료일 이후 해당 사용자 계정을 불능화하는..
    • 불능화된 일자

기타

/etc/login.defs

  • 암호를 비롯한 로그인 관련 디폴트값들을 정의
  • 'PASS_'로 시작하는 값들은 암호 설정과 관련된 디폴트 값을 가짐

/etc/passwd 파일의 직접적인 변경

  • vi보다는 vipw 명령 사용(locking에 유리)

사용자 환경 설정

  • 사용자가 로그인할때 환경에 영향을 미치는 여러 설정 파일들이 순차적으로 적용됨
  • /etc/profile
  • ~/.bash_profile
  • ~/.bash_login (~/.bash_profile이 없는 경우 적용)
  • ~/.profile (~/.bash_profile~/.bash_login이 없는 경우 적용)
  • ~/.bashrc
    : 새로 시작되는 쉘에는 모두 적용됨
  • ~/.bash_logout
    : bash 쉘을 빠져나갈 때 적용되는 파일

그룹 관리

  • 그룹은 사용자의 집단을 구분하여 데이터 공유 및 권한관리를 위해 사용

groupadd

  • 그룹을 추가하는 명령

groups

  • 그룹 목록을 출력

groupdel

  • 그룹 제거

gpasswd

  • 그룹관리 명령

/etc/group

  • 그룹 정보를 유지하는 파일

/etc/gshadow

  • 그룹 관리자에 대한 정보를 유지

0개의 댓글