리눅스/Part3. Ch05. 사용자 관리

01. 사용자 관리의 이해

Engineer-Lee 2022. 7. 21. 01:19
반응형

리눅스 계정 모델

  • 전통적인 방식
    . 유닉스나 리눅스에서 사용되던 전통적인 계정 모델
    -> /etc/passwd, /etc/shadow, /etc/groups
  • 확장 방식
    . LDAP 이나 Active Directory 같은 디렉토리 서비스와의 통합
    -> 통합 사용자 관리 (장점: 새로운 사용자 등록, 퇴사자 관리, 역할에 따른 권한 관리 등)

 

 

리눅스의 사용자 계정관리는 UID를 기준으로 동작

  • 사용자 ID(UID): 사용자를 식별하는 하나의 숫자 (부호 없는 32비트 정수)
  • UID를 사용자 정보로 매핑 하여 사용 à getpwuid(), getpwnam(), /etc/passwd 등으로 매핑

 

/etc/passwd 파일

  • 시스템이 인식하는 사용자들의 목록
  • 내용
    로그인명 : 암호화된 암호 : UID : GID : 사용자정보: 홈 디렉토리 : 로그인 쉘
    ubuntu : x : 1000 : 1000 : Ubuntu : /home/ubuntu : /bin/bash
    root : x : 0 : 0 : root : /root : /bin/bash
    daemon : x : 1 : 1 : daemon : /usr/sbin : /usr/sbin/nologin

    로그인명: 고유한 사용자 이름. 리눅스의 경우 32자로 제한, 콜론 및 개행 문자 포함 안됨 (배포판에 따라 다름)
    . 암호화된 암호 : /etc/shadow에 패스워드가 저장
    UID: 루트 유저는 UID가 0 실제 사용자는 1000번 이상의 UID를 배정. UID는 재활용 되지 않음
              ->조직이 큰 경우, LDAP 권장
    . GID: 0은 root, system, wheel 그룹용으로 확보.
    홈 디렉토리 : 로그인 후 위치하는 디렉토리
    . 로그인 쉘: 로그인한 사용자가 사용하게 될 쉘. chsh 명령으로 기본 쉘 변경 가능 (LDAP사용의 경우 chsh작동 안할 수 있음)
       pseudo 사용자의 경우 로그인이 안되도록 쉘에 /usr/sbin/nologin 설정

 

/etc/shadow 파일 

  • /etc/passwd에는 제공되지 않는 추가적인 계정 정보를 포함
  • 슈퍼유저만 읽을 수 있는 권한이 있음
  • 암호를 저장하는 기본 위치로 사용됨
  • /etc/passwd, /etc/shadow 별도로 관리가 됨
    useradd 명령 -> 두 파일에 모두 정보가 추가
    pwconv 명령  -> 두 파일의 내용을 동기화

  • 내용
    로그인명 : 암호화된 암호 : 마지막으로 암호를 변경한 날짜 : 암호 변경을 위한 최소 날짜 수 : 암호 변경을 위한
    최대 날짜 수 : 암호가 만료되기 전에 미리 사용자에게 경고할 날짜 수 : 암호 만료 후에 계정을 비활성화할 날짜 수:
    암호 만료 후에 계정을 비활성화할 날짜 수 : 계정 만료 날짜 : 여분 필드

    * 암호화 정책 설정 Ubuntu: /etc/pam.d/common-passwd
                                   RedHat: /etc/login.defs 또는 authconfig 명령 사용

 

 

/etc/group 파일

  • 그룹명과 각 그룹의 멤버 목록을 포함
  • 내용
    그룹명 : 암호 : GID 번호 : 멤버 목록 (복수 사용자 등록시 ,로 구분하고 공백은 허용하지 않음)
  • 예) 실습에 사용하고 있는 EC2 Ubuntu 사용자가 속한 그룹

 

반응형