Study/리눅스

리눅스 8일차(사용자 계정 관리)

됵이 2022. 7. 17. 19:30

계정 종류

사용자 종류 

계정들은 UID로 구분되어 관리한다.(UID 범위는 /etc/login.defs에 정의 되어 있다. 

  • 루트계정 : 모든 권한을 가진 super user (UID = 0)
  • 시스템 계정 : 리눅스 설치시 기본으로 생성되는 계정 (UID = 1~499)
  • 사용자 계정 : 실제 리눅스 사용자를 위한 계정 (UID = 500~60000)

계정 확인 명령어

계정 확인(id / users/who)

who : 모든 사용자 정보를 자세히 출력해준다.

users : 현재 로그인 되어있는 모든 사용자 출력

id : 현재 사용자의 UID, GID 그룹정보를 확인하는 명령어

 

사용자명:비밀번호:UID(userid):GID(groupid):사용자계정설명:홈디렉터리:쉘

 

계정 전체 확인

모든 계정이 들어있는 passwd 에서 확인 가능

아이디만 확인 

사용자 계정 관리

사용자 추가/삭제(useradd / userdel)

#useradd 옵션 사용자명

useradd Auser
#Auser라는 계정을 생성

userdel Auser
#Auser라는 계정을 삭제

userdel -r Auser
#-r 옵션으로 사용자 계정 홈 디렉토리도 삭제
#-f 옵션 강제 삭제

사용자 추가 옵션

  • -d : 홈디렉터리 지정
  • -D : 사용자 생성시 사용하는 기본값을 보거나 설정
  • -e => YYYY-MM-DD 형식으로 계정의 만기일 지정
  • -f => 패스워드 만료일 이후 유효기간을 설정
    • 1이상의 숫자이면 해당일수만큼 패스워드 유효.
    • 0이면 만료되고 바로 잠김. -1이면 해당 기능을 사용하지 않음
  • -g => 사용자 그룹설정
    • 설정하지 않으면 사용자 이름과 동일한 그룹에 설정
    • useradd -g [그룹명] [유저명]
  • -G => 기본 그룹이외에 추가로 그룹을 생성할 때
    • useradd -g [그룹명] -G [그룹1,그룹2] [유저명]
  • -k => -m 옵션을 통해 홈 디렉터리 생성할 때 복사할 기본파일을 지정할 때 사용
  • -m => 홈 디렉터리를 지정할 때 사용하고 디렉터리가 없으면 생성
    • -k 옵션과 같이 사용해서 홈디렉터리 생성시 복사할 기본 파일경로도 지정
    • -M => 홈디렉터리를 생성하지 않음
    • -m -d 를 함께 사용하면 홈디렉터리를 없으면 생성해서 옮길수 있다.
  • -N =>사용자와 동일한 이름으로 그룹을 생성하지 않음
  • -p =>평문이 아닌 암호화된 패스워드를 설정
  • -r =>시스템 계정을 생성
  • -s => 사용자가 사용할 셀을 지정
  • -u => 사용자 유일한 UID값 설정
    • useradd -u [UID 숫자] [유저명]

for문을 이용하여 반복적으로 사용자 만들기

awk를 이용

awk 'BIGIN{i=0;for($i-0;$i<8;$i++) system("useradd suser0"$i)}'

awk 'BIGIN{i=0;for($i-0;$i<8;$i++) system("echo "dkagh1." | passwd --stdin test$i")}'

※echo "dkagh1." | passwd --stdin test1 : 암호 만들기

system => 함수이다.

 

쉘 스크립트로

vim useradd.sh

#!/bin/bash

for((i=0;i<10;i++)) #괄호 두개 넣을것

do

useradd muser0$i # 사용자 계정을 만듦

echo "dkagh1." | passwd --stdin muser0$i #

done

bash useradd.sh

 

 

쉘 스크립트로 (복사해서 새로운 방법)

vim useradd.sh

#!/bin/bash

#for i in {0..9}

a = '0,1,2,3,4,5,6,7,8,9'

for i in $a랙

do

useradd muser0$i # 사용자 계정을 만듦

echo "dkagh1." | passwd --stdin muser0$i #

done

bash useradd.sh

 

사용자 패스워드 설정 (passwd)

#pass 옵션 username

passwd -n 7 -x 365 -w 5 -i 10 Auser

옵션

  • -d => 패스워드 삭제 (비밀번호 없이 로그인 가능)
  • -e => 사용자 패스워드를 만료
  • -i => 패스워드 만료후 비활성화전 유예기간 일 지정
  • -l => 사용자 패스워드에 락을 걸어 로그인을 막는다.
  • -n => 비밀번호 변경할 수 있을때까지 유지해야할 일수 지정
  • -q => 화면출력 없이 명령을 수행
  • -S => 사용자의 로그인명 ,패스워드 상태, 설정여부, 마지막으로 변경한 날짜, 패스워드 변경까지 남은 기간등 다양한 정보를 출력
  • -u => 락을 걸었던 패스워드를 다시 해제
  • -w => 패스워드 만료전 경고날짜 지정
  • -x => 최대사용기간 설정

사용자 패스워드 유효기간 관리(chage)

옵션

  • -d => 패스워드를 변경해야 할 날짜수 지정
  • -E => 계정이 만료되는 날 설정
  • -I => 계정 만료후 패스워드가 비활성화될때까지 유예기간을 설정
  • -m => 패스워드 변경할 때 최소 날짜를 지정
  • -M => 패스워드 변경할 때 최대날짜 지정
  • -W => 패스워드 만료에 대한 경고 메시지를 보여줄 날짜를 지정

계정 설정(usermod)

옵션

  • -a =>사용자에 그룹 추가하기 위해 -G옵션과 사용
  • -c => 사용자에 간단한 정보 입력
  • -l => 로그인 이름 변경
  • -L => 패스워드에 락
  • -U => 패스워드 락 해제

그룹 계정 관리

  • 그룹 출력(groups)
  • 그룹 생성(groupadd)
  • 그룹 정보 변경(groupmod)
    • -g => 변경할 GID 설정
    • -n => 그룹의 이름 변경
      • groupmod -n ab cd => ab그룹을 cd그룹으로 변경
  • 그룹 삭제(groupdel)
  • 그룹 전반적인 관리 및 패스워드 변경(gpasswd)
    • -a => 그룹에 사용자 추가
    • -d => 그룹에 사용자 삭제
    • -r => 그룹의 패스워드 제거
    • -R => 그룹 접근 제한
    • -A => 관리자로 지정할 사용자 설정
    • -M => 그룹맴버 설정
  • 그룹 참여(newgrp)

사용자 환경설정 파일 종류

계정 및 그룹 설정파일

  • /etc/passwd : 사용자 계정의 아이디, 그룹정보 등 계정정보
  • /etc/shadow : 암호화된 패스워드 및 정책 설정 정보
  • /etc/group : 사용자 그룹의 기본 정보
  • /etc/gshadow : 사용자 그룹의 암호화된 패스워드 정보

계정 환경설정 파일

  • /etc/default/useradd : useradd명령을 사용할 때 기본 사용자 부가 정보
  • /etc/login.defs : 로그인 수행시 기본 설정 /패스워드 기간 설정 등
  • /etc/skel : 홈디렉터리 생성시 기본으로 제공할 파일

'Study > 리눅스' 카테고리의 다른 글

리눅스 9일차(setfacl/getfacl/링크)  (0) 2022.07.18
리눅스 9일차(보안)  (0) 2022.07.17
리눅스 7일차(sed)  (0) 2022.07.17
리눅스 6일차(awk)  (0) 2022.07.17
리눅스 5일차(vi 에디터)  (0) 2022.07.17