LabHub
배우기 러닝패스 코스

LFCS — Linux Foundation認定システム管理者

ユーザとグループを作りポリシーを掛ける

LabHub 에서 이어서 보기

한국어 원문으로 표시합니다.

목표

실제로 사용자와 그룹을 만들고, 암호 정책을 걸고, 계정 데이터베이스 세 파일에서 값을 직접 읽어 확인한다.

왜 중요한가

계정 관리는 LFCS 에서 배점이 확실한 영역이면서, 실무에서 되돌리기 가장 어려운 작업이기도 하다. usermod -G 에서 추가 옵션 하나를 빠뜨리면 사용자의 보조 그룹이 전부 날아가고, 그 사용자가 관리자였다면 복구 경로 자체가 사라진다. 그래서 이 실습은 매번 idgetent 로 결과를 확인하는 습관을 만드는 데 초점을 둔다. 암호 정책도 마찬가지다 — /etc/shadow 의 만료 필드는 날짜가 아니라 1970년부터의 일수라서, 값을 눈으로 보고 "이게 맞나" 를 판단하려면 그 규칙을 알아야 한다. 마지막 단계에서 만드는 고아 홈 디렉터리는 실제 서버에서 UID 가 재사용될 때 남의 파일을 읽게 되는 사고의 씨앗이다.

단계

  1. GID 가 4200 인 그룹 lfcsops 와, GID 를 지정하지 않은 그룹 lfcsdev 를 만드세요.
  2. 사용자 lfcsadm 을 UID 4201, 기본 그룹 lfcsops, 홈 디렉터리 /home/lfcsadm(실제로 생성), 로그인 셸 /bin/bash 로 만드세요.
  3. 사용자 lfcsdev1 을 기본 그룹 lfcsdev 로 만들고 보조 그룹으로 lfcsops 를 주세요. 그리고 lfcsadm 의 기본 그룹은 그대로 둔 채 보조 그룹에 lfcsdev추가하세요.
  4. 서비스 계정 lfcssvc 를 UID 1000 미만(시스템 계정 범위), 로그인이 불가능한 셸, 홈 디렉터리 없이 만드세요.
  5. lfcsdev1 의 암호 정책을 최소 사용 일수 7, 최대 사용 일수 90, 만료 경고 14일, 계정 만료일 2027-12-31 로 설정하세요.
  6. lfcsdev1 에 암호를 설정한 다음 그 암호를 잠그세요. /etc/shadow 두 번째 필드가 느낌표로 시작하고 그 뒤에 해시가 남아 있어야 합니다.
  7. /root/lfcs-users/report.txtuid=<lfcsadm 의 UID>, gid=<lfcsops 의 GID>, shadow_max=<lfcsdev1 의 최대 사용 일수> 세 줄을 적으세요.
  8. 홈 디렉터리가 있는 임시 계정 lfcstmp 를 만든 뒤, 홈은 남기고 계정만 삭제하세요. /home/lfcstmp 는 남아 있고, 그 소유 UID 에 대응하는 계정은 없어야 합니다.

참고

그룹 두 개 만들기

GID 가 4200 인 그룹 lfcsops 와, GID 를 지정하지 않은 그룹 lfcsdev 를 만드세요.

그룹 생성 명령에는 GID 를 직접 지정하는 옵션이 있습니다. 하나는 지정하고 하나는 시스템이 고르게 두세요.

UID·홈·셸을 지정한 사용자

사용자 lfcsadm 을 UID 4201, 기본 그룹 lfcsops, 홈 디렉터리 /home/lfcsadm(실제로 생성), 로그인 셸 /bin/bash 로 만드세요.

useradd 는 UID, 기본 그룹, 홈 경로, 로그인 셸을 각각 다른 옵션으로 받습니다. 홈 디렉터리를 실제로 만들어 주는 옵션이 따로 있다는 점에 주의하세요.

보조 그룹 붙이기

사용자 lfcsdev1 을 기본 그룹 lfcsdev 로 만들고 보조 그룹으로 lfcsops 를 주세요. 그리고 lfcsadm 의 기본 그룹은 그대로 둔 채 보조 그룹에 lfcsdev추가하세요.

기존 보조 그룹을 유지한 채 더하려면 추가 옵션이 필요합니다. 그것을 빠뜨리면 목록이 통째로 대체됩니다. 결과는 id 로 확인하세요.

로그인 불가 서비스 계정

서비스 계정 lfcssvc 를 UID 1000 미만(시스템 계정 범위), 로그인이 불가능한 셸, 홈 디렉터리 없이 만드세요.

시스템 계정으로 만드는 옵션과 홈을 만들지 않는 옵션이 따로 있습니다. 셸은 로그인을 거부하는 경로를 지정하세요.

암호 만료 정책

lfcsdev1 의 암호 정책을 최소 사용 일수 7, 최대 사용 일수 90, 만료 경고 14일, 계정 만료일 2027-12-31 로 설정하세요.

최소·최대·경고·계정 만료는 각각 다른 옵션입니다. 만료일은 사람이 읽는 날짜로 지정하면 도구가 내부 형식으로 바꿔 줍니다.

암호 설정 후 잠그기

lfcsdev1 에 암호를 설정한 다음 그 암호를 잠그세요. /etc/shadow 두 번째 필드가 느낌표로 시작하고 그 뒤에 해시가 남아 있어야 합니다.

대화형 입력 없이 암호를 넣는 도구가 있습니다. 잠금은 해시를 지우는 것이 아니라 앞에 표시를 붙이는 것이라, 잠그기 전에 암호가 있어야 의미가 생깁니다.

계정 데이터베이스에서 값 읽기

/root/lfcs-users/report.txtuid=<lfcsadm 의 UID>, gid=<lfcsops 의 GID>, shadow_max=<lfcsdev1 의 최대 사용 일수> 세 줄을 적으세요.

세 값은 각각 다른 파일의 다른 필드에 있습니다. 콜론으로 나뉘어 있으니 필드 번호를 세어 뽑아내세요.

계정만 지우고 홈은 남기기

홈 디렉터리가 있는 임시 계정 lfcstmp 를 만든 뒤, 홈은 남기고 계정만 삭제하세요. /home/lfcstmp 는 남아 있고, 그 소유 UID 에 대응하는 계정은 없어야 합니다.

삭제 명령에 홈까지 함께 지우는 옵션이 있습니다. 이번에는 그것을 쓰지 않아야 합니다. 남은 디렉터리의 소유자를 확인해 보세요.