계정 종류
사용자 종류
계정들은 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 |