사용자 계정

EEEFFEE·2023년 11월 1일
0

Linux 환경

목록 보기
3/9

23.11.01 최초 작성

  • 리눅스는 다중 사용자 시스템이므로 사용자를 구별해 적절한 자원을 배분해주는 방법 필요
  • 사용자 계정은 사용자가 시스템에 접근할 수 있는 유일한 방법
  • 시스템 관리자의 입장에서 사용자의 접근 권한을 통제 가능한 수단

1. 사용자 계정 관리 파일

1.1 /etc/passwd

  • 사용자 계정 정보가 저장된 파일

    	 로그인 ID : x : UID : GID : 설명 : 홈 디렉토리 : 로그인 쉘
    • 로그인 ID : 사용자 계정 이름
    • x : 초기 유닉스 시스템에서 사용자 암호를 저장하던 항목
    • UID : 사용자 ID 번호로 시스템이 사용자를 구별하기 위해 사용하는 번호
      • 일반 사용자는 1000번부터 할당
      • 리눅스 시스템은 유저 ID가 아닌 UID로 사용자 판단
    • GID : 그룹 ID
    • 설명 : 사용자의 실명, 부서명, 연락처 기록
    • 홈 디렉토리 : 사용자 계정에 할당된 홈 디렉토리의 절대 경로 기록
    • 로그인 쉘 : 사용자의 로그인 쉘 지정

1.2 /etc/shadow

  • 사용자 암호에 관한 정보를 관리하는 파일(root로만 확인 가능)
    	로그인 ID : 암호 : 최종 변경일 : MIN : MAX : WARNING : INACTIVE : EXPIRE :Flag
    • 로그인 ID : 사용자 계정 이름
    • 암호 : 실제 비밀번호가 암호화 되어 저장
    • 최종 변경일 : 암호가 마지막으로 변경된 날짜 지정 (1970.01.01~)
    • MIN : 암호 변경 후 사용해야 하는 최소 기간
    • MAX : 암호를 사용할 수 있는 최대 기간
    • WARNING : 암호가 만료되기 전 경고를 시작하는 날 수
    • INACTIVE : 암호가 만료된 후 이 항목에 지정한 날 수 동안 로그인 가능
    • EXPIRE : 사용자 계정이 만료되는 날
    • FLAG : 향후 사용할 목적으로 비워둔 항목

1.3 /etc/login.defs

  • 기본 값을 설정하는 파일
    • MAIL_DIL : 기본 메일 디렉토리
    • PASS_MAX_DAYS : 암호 만료 일자
    • PASS_MIN_DAYS : 암호 최소 사용 기간
    • PASS_WARN_AGE : 암호 만료되기 전 경고 일자
    • UID_MIN, UID_MAX : 사용자 계정 UID 범위
    • SYS_UID_MIN, SYS_UID_MAX : 시스템 계정 UID 범위
    • GID_MIN, GID_MAX : 사용자 계정 GID 범위
    • SYS_GID_MIN, SYS_GID_MAX : 시스템 계정 GID 범위
    • UMASK : umask값 설정
    • USERGROUPS_ENAB : 사용자 계정 삭제 시 그룹 삭제 여부
    • ENCRYPT_METHOD : 암호화 기법

1.4 /etc/group

  • 그룹에 대한 정보 저장

    	- 그룹 이름 : x : GID : 그룹 멤버
    • 그룹 이름 : 그룹의 이름
    • x : 그룹 암호 저장 (보통 /etc/gshadow 에 저장됨)
    • GID : 그룹을 식별하는 번호
    • 그룹 멤버 : 그룹에 속한 멤버들의 사용자 계정 (,로 구분)

1.4 /etc/gshadow

  • 그룹 암호 저장

    	- 그룹 이름 : 그룹 암호 : 관리자 : 그룹 멤버
    • 그룹 이름 : 그룹의 이름
    • 그룹 암호 : 암호화된 그룹 암호
    • 관리자 : 그룹의 암호나 멤버를 바꿀 수 있는 사용자 계정 (,로 구분)
    • 그룹 멤버 : 그룹에 속한 멤버들의 사용자 계정 (,로 구분)

2. 계정 관리 명령어

2.1 사용자 계정 생성


useradd [옵션] [로그인 ID]			//사용자 계정 생성

///
-u uid : UID 지정
-o : UID 중복 허용
-g gid : 기본 그룹의 GID 지정
-G gid : 2차 그룹의 GID 지정
-d 디렉토리 : 홈 디렉토리 지정
-s 쉘 : 기본 쉘 지정
-c 설명 : 사용자 이름 등 부가적인 설명 작성
-D : 기본값 설정 or 출력
-e 유효기간 : EXPIRE 항목 설정 (YYYY-MM-DD)
-f 비활성 일수 : INACTIVE 항목 설정
-k 디렉토리 : 계정 생성 시 복사할 초기 파일이나 디렉토리를 설정해놓은 디렉토리 지정
-m : 홈 디렉토리 생성

useradd -m -d /home/user2 -u 2000 -s /bin/ksh user2
sudo passwd user2					//암호 설정

-/etc/skel : 사용자 계정의 홈 디렉토리에 공통으로 배포해야 할 파일을 해당 디렉토리에 만들어 놓으면 사용자 계정 생성 시 자동으로 복사


adduser [-옵션] <로그인 ID>		//사용자 계정 생성
 
///
--uid uid : UID 지정
--gid gid : GID 지정
--home DIR : 홈 디렉토리 지정
--shell 쉘 : 기본 쉘 지정
--gecos 설명 : 사용자 이름 등 부가적인 설명 작성

2.2 사용자 계정 정보 수정


usermod [옵션] <로그인 ID>
 
///
-u uid : UID 지정
-o : UID 중복 허용
-g gid : 기본 그룹의 GID 지정
-G gid : 2차 그룹의 GID 지정
-d 디렉토리 : 홈 디렉토리 지정
-s 쉘 : 기본 쉘 지정
-c 설명 : 사용자 이름 등 부가적인 설명 작성
-D : 기본값 설정 or 출력
-e 유효기간 : EXPIRE 항목 설정 (YYYY-MM-DD)
-f 비활성 일수 : INACTIVE 항목 설정
-l 새 로그인 이름 : 계정 이름 바꿈

2.3 사용자 계정 삭제


userdel [옵션] <로그인 ID>
 
///
-r : 홈 디렉토리와 메일 디렉토리 삭제
-f : 사용자가 로그인 중이어도 강제 삭제

find / -user 2001 -exec rm -r {} \;		//2001번 사용자가 사용하던 파일 삭제

2.4 그룹 생성


addgroup [옵션] <그룹명>		//그룹 생성

///
--gid GID : 그룹의 GID 지정

2.5 그룹 삭제


groupdel <그룹명>

2.6 그룹 암호 설정 및 사용


gpasswd [옵션] <그룹명>			// /etc/group, /etc/gshadow 파일 관리

///
-a 사용자 계정 : 사용자 계정을 그룹에 추가
-d 사용자 계정 : 사용자 계정을 그룹에서 삭제
-r : 그룹 암호 삭제

2.7 소속 그룹 변경


newgrp <그룹명>		//사용자가 작업 하며 다른 그룹으로 변경해야 할 경우 사용

3. 계정 정보 관리 명령

  • EUID : 현재 명령을 수행하는 주체의 UID
  • 실행 파일에 setuid가 설정되어 있는 경우 실행한 프로세스의 UID는 사용자 계정의 UID가 아닌 실행 파일 소유자의 UID(=EUID)

who [옵션]		//현재 시스템을 사용하는 사용자 정보를 출력

///
-q : 사용자 명만 출력
-H : 출력 항목의 제목도 함께 출력
-b : 마지막으로 재시작한 날짜와 시간 출력
-m : 현재 사용자 계정의 정보 출력
-r : 현재 런레벨 출력

w [사용자명]		//현재 시스템을 사용하는 사용자 정보와 작업 정보 출력

last			//시스템에 로그인하고 로그아웃한 정보 출력

who am i		//UID 출력
who -m

whoami			//EUID 출력
id

3.1 root 권한

  • sudo권한 설정
    • /etc/sudoers파일에 권한부여 설정
      사용자 계정	호스트 = 명령어
      root	ALL=(ALL:ALL) ALL
      user5	ALL=/usr/sbin/useradd, /usr/sbin/usermod		//user5에게 사용자 추가, 수정 권한 sudo로 가능하게 권한 부여
      user5	ALL=NOPASSWD:/usr/sbin/useradd		//user5가 sudo 명령 사용 시 비밀번호 입력 X

su - user5			//EUID user5에 root 권한 부여

3.2 암호 관리


passwd [옵션] [사용자 계정]

///
-l 사용자 계정: 지정한 계정의 암호 잠금 (로그인 불가능)
/etc/shadow 파일 확인 시 암호에 ! 붙어 잠금 표시

-u 사용자 계정: 암호 잠금 해제
-d 사용자 계정: 지정한 계정의 암호 삭제 (로그인 불가능)

3.3 파일 및 소유자 소유 그룹 변경


chown	[옵션] <사용자 계정> <파일명/디렉토리명>		//파일, 디렉토리의 소유권 입력한 사용자 계정으로 바꿈

///
-R : 서브디렉토리의 소유자와 소유 그룹 변경

chown user2:grp01 file1		//소유자 소유 그룹 동시 변경

chgrp [옵션] <그룹명> <파일/디렉토리 명>

///
-R : 서브디렉토리의 소유자와 소유 그룹 변경

0개의 댓글

관련 채용 정보