Linux _ 2. 계정 생성 및 관리 (1)

WONY_yoon·2025년 10월 15일
post-thumbnail

KOREA IT LINUX 과정

리눅스 세 번째 시간 (1)

<< 리눅스 계정 >>

  • root : 로그인이 가능한 관리자 계정 / 모든 권한 수행 가능
  • system : 시스템과 서비스를 운영할 때 사용하는 계정 / 로그인 불가!!
  • user : 로그인이 가능한 일반 계정 / 일부 권한 수행 가능

<< 계정 관련 파일 >>

  • /etc/passwd : 계정 전체 정보를 관리하는 파일
  • /etc/shadow : 계정 패스워드 정보 및 계정 관련 날짜 및 기간을 관리하는 파일
  • /etc/group : 계정 그룹 정보를 관리하는 파일
  • root:x:0:0:root:/root:/bin/bash→ root : 계정 이름
    → x : 패스워드, 'x'는 패스워드를 '/etc/shadow' 파일에서 관리한다는 의미
    → 0 : 계정 식별자 (UID)
    → 0 : 그룹 식별자 (GID)
    → root : 계정 주석
    → /root : 계정 홈 디렉토리
    → /bin/bash : 계정이 사용되는 쉘 유형
  • client2:x:1000:1000:client2:/home/client2:/bin/bash → client2 : 계정 이름
    → x : 패스워드, 'x'는 패스워드를 '/etc/shadow' 파일에서 관리한다는 의미
    → 1000 : 계정 식별자 (UID)
    → 1000 : 그룹 식별자 (GID)
    → :: : 계정 주석, 현재 주석 설정이 없음
    → /home/client1 : 계쩡 홈 디렉토리
    → /bin/bash : 계정이 사용되는 쉘 유형

<< 'pwunconv', 'pwconv' 명령어 >>

  • pwunconv 명령어를 실행하면 '/etc/passwd' 파일에 계정 패스워드 해시값 출력
  • pwunconv 명령어를 실행하면 '/etc/shadow' 파일은 사라지고 '/etc/shadow-' 백업 파일만 존재
  • pwconv 명령어를 실행하면 '/etc/passwd' 파일에 계정 패스워드 해시값을 출력하지 않음

<< '/etc/default/useradd' 파일 >>

  • 의미 : 계정 생성 시 필요한 기본값 정보들이 설정되어있는 파일

<< 계정 생성 >>

1. 기본값으로 test1 계정 생성

2. 홈 디렉토리를 '/var/test2' 디렉토리로 지정하여 test2 계정 생성

→ '-d'를 활용하여 user가 생생되는 디렉토리 변경 가능

3. 홈 디렉토리를 '/var/test3' 디렉토리로 지정하고 쉘을 'bash'로 지정하여 test4 계정 생성

→ '-s'를 통해 계정이 사용되는 쉘 유형 변경 가능

4. 계정 만료 날짜 및 주석을 설정하여 test5 계정 생성

→ '-e'를 활용하여 test5 user의 만료기한 지정 가능
→ '-c'를 활용하여 user의 계정 주석 별도 지정 가능 'seowon'
→ test5 user만 만료기한이 생긴 것 확인 가능

5. 계정 식별자를 2000으로 설정하여 test6 계정 생성

→ '-u'를 활용하여 UID와 GID 변경 가능
→ 숫자가 직전 user와 이어지는 것 확인 가능

<< 계정 수정 및 삭제 >>

1. 계정 쉘 변경

→ '-s'를 활용하여 test4 계정의 쉘을 기본값인 sh로 변경

2. 계정 만료 기간 삭제 및 주석 변경

→ '-e'를 활용하여 계정 만료 기간 삭제
→ '-c'를 활용하여 계정의 주석 변경

3. 계정 식별자 및 그룹 식별자 변경

→ '-u'를 활용하여 계정 식별자(UID) 변경 가능
→ useradd와 다르게 그룹 식별자(GID)는 변경되지 않는 것을 알 수 있음
→ 이렇게 'groupmod'를 사용하여 따로 변경해주어야 함

4. 계정 삭제

→ user test6을 추가하여 'ls /var/spool/mail'을 통해 확인하면 test6 파일이 생성된 것을 볼 수 있음
→ 'userdel' 을 활용하여 user test6 을 다시 삭제할 경우, 'cat /etc/passwd | grep ^test' 상에는 지워졌지만, 'ls /home'과 'ls /var/spool/mail'을 통해 확인해보면 user test 6 이 아직 남아있는 것을 볼 수 있음
→ 그래서 다시 'useradd'를 활용하여 test6 을 생성하려고 하면 위와 같은 경고문구가 뜸
→ '-r' 옵션을 사용하여 'userdel'을 사용하면 계정, 홈 디렉토리, 메일 모두삭제되는 것 확인 가능!

<< group 추가/변경/삭제 >>

  • 'useradd'를 통해 계정 추가할 시에 동일한 이름으로 group 도 생성됨
  • 'groupmod -n'을 활용하여 group의 이름 변경 가능
  • 'usermod -g'를 활용하여 tesgroup 로 그룹 변경 가능
    → 한 개의 그룹에 여러 개의 계정을 넣음
    → 여러 개의 그룹에 한 개의 계정을 넣음
  • 계정 삭제 시, 해당 계정이 들어있는 그룹은 삭제하지 못한다는 경고 뜸

0개의 댓글