전공/리눅스시스템관리

[Linux] 리눅스 사용자 관리

Campus Coder 2023. 6. 12. 21:02
728x90
반응형

사용자 계정 관련 파일

/ect/passwd 파일

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

  1. 로그인 ID: 사용자 계정의 이름
  2. x: 초기 유닉스 시스템에서 사용자 암호를 저장하던 항목(현재는 /etc/shadow에 암호 저장)
  3. UID: 사용자 ID 번호로 시스템이 사용자를 구별하기 위해 사용하는 번호
    - 일반적으로 0~999번과 65534번은 시스템 사용자를 위한 UID로 예약
    - 일반 사용자는 UID 1000번부터 할당(root 계정은 0번)
  4. GID: 그룹 ID를 나타낸다. 리눅스에서 사용자는 무조건 한 개 이상의 그룹에 소속
  5. 설명: 사용자의 실명이나 부서명, 연락처 등 사용자에 대한 일반적인 정보를 기록
  6. 홈 디렉터리: 사용자 계정에 할당된 홈 디렉터리의 절대 경로
  7. 로그인 셸: 사용자의 로그인 셸을 지정

 

/ect/shadow 파일

사용자 암호에 관한 정보를 별도로 관리하는 파일

root 사용자만 읽고 쓸 수 있으면 shadow 그룹은 읽기만 가능

  1. 로그인 ID: 사용자 계정의 이름
  2. 암호(패스워드): 실제 비밀번호가 암호화되어 저장
  3. 최종 변경일: 암호가 마지막으로 변경된 날짜(1970년 1월 1일을 기준으로 날수를 지정)
  4. MIN:  암호를 변경한 후 사용해야 하는 최소 기간
  5. MAX: 암호를 사용할 수 있는 최대 기간
  6. WARNING: 암호가 만료되기 전에 경고를 시작하는 날수
  7. INACTIVE: 암호가 만료된 후에도 이 항목에 지정한 날수 동안은 로그인이 가능
  8. EXPIRE: 사용자 계정이 만료되는 날짜(1970년 1월 1일을 기준으로 한 날수로 표시)
  9. Flag: 향후 사용할 목적으로 비워둔 항목

 

/etc/login.defs 파일

사용자 계정의 설정과 관련된 기본 값을 정의한 파일

 

/etc/group 파일

그룹의 정보가 저장된 파일

사용자가 속한 그룹 중 /etc/passwd 파일의 GID 항목에 지정된 기본 그룹이며, 사용자가 속한 2차 그룹은 /etc/group 파일에 지정

  1. 그룹 이름: 그룹의 이름
  2. x: 그룹의 암호를 저장 - 그룹 암호는 newgrp 명령으로 자신이 속하지 않은 그룹으로 전환할 때 필요
  3. GID: 그룹을 식별하는 번호
  4. 그룹 멤버: 그룹에 속한 멤버들의 사용자 계정 이름 - 쉼표(,)로 구분하여 사용자 계정 등록

 

/etc/gshadow 파일

그룹 암호가 저장된 파일

  1. 그룹 이름: 그룹의 이름
  2. 그룹 암호: 암호화된 그룹 암호
  3. 관리자: 그룹의 암호나 멤버를 바꿀 수 있는 사용자 계정으로 여러 개일 경우 쉼표로 구분
  4. 그룹 멤버: 그룹에 속한 멤버들의 사용자 계정 이름이며, 쉼표로 사용자를 구분

 

파일 종류 설명
/ect/passwd 사용자 계정 정보가 저장된 기본 파일
/ect/shadow 사용자 암호에 관한 정보를 별도로 관리하는 파일
/etc/login.defs 사용자 계정의 설정과 관련된 기본 값을 정의한 파일
/etc/group 그룹의 정보가 저장된 파일
/etc/gshadow 그룹 암호가 저장된 파일

 

 

사용자 계정 관리 명령

useradd

기능 - 사용자 계정을 생성

형식 - useradd [옵션] [로그인 ID]

옵션

-u uid UID를 지정 -o UID의 중복을 허용
-g gid 기본 그룹의 GID를 지정 -G gid 2차 그룹의 GID를 지정
-d 디렉터리명 홈 디렉터리를 지정 -s 셸 기본 셸을 지정
-c 설명 사용자의 이름 등 부가적인 설명을 지정 -D 기본 값을 설정하거나 출력
-e 유효 기간 EXPIRE 항목을 설정 -f 비활성 일수 INACTIVE 항목을 설정
-k 디렉터리 계정 생성 시 복사할 초기 파일이나 디렉터리를 설정해놓은 디렉터리를 지정    
useradd user2
useradd -m -d / home/user2 user2
useradd -m -d / home/user2 -u 2000 -g 100 -s /bin/ksh user2
useradd -D -d /export/home

기본 설정값은 /etc/default/useradd 파일에 저장

vi로 파일 수정 가능하지만 useradd -D 명령으로 수정하는 것이 바람직

/etc/skel

사용자 계정의 홈 디렉터리에 공통으로 배포해야 할 파일을 /ect/skel 디렉터리에 만들어 놓으면 사용자 계정을 생성할 때 자동으로 복사

 

adduser

기능 - 사용자 계정을 생성

형식 - adduser [옵션] 로그인 ID

옵션

--uid UID UID를 지정 --gid GID 기본 그룹의 GID를 지정
--home DIR 홈 디렉터리를 지정 --shell 셸 기본 셸 지정
--gecos 설명 사용자의 이름 등 부가적인 설명 지정    
add user5
adduser --uid 2001 user5
adduser --home /home/user5 -uod 2001 -gid 2100 --s /bin/sh user5

adduser 명령의 기본 설정은 /ect/adduser.conf에 저장

 

usermod

기능 - 사용자 계정 정보를 수정

형식 - usermod [옵션] [로그인 ID]

옵션

-u uid UID를 수정 -o UID의 중복을 허용
-g gid 기본 그룹을 수정 -G gid 2차 그룹을 수정
-d 디렉터리명 홈 디렉터리르 수정 -s 셸 기본 셸을 수정
-c 설명 부가적인 설명을 수정 -f inactive 계정 비활성화 날자를 수정
-e expire 계정 만료 날짜를 수정 -l 계정 이름을 바꿈
usermod -u 1111 user1
usermod -d /home/user111 user1
usermod -l user111 user1

로그인 ID를 바꿀 때는 홈 디렉터리도 같이 바꿔주는 것이 좋음

기존의 홈 디렉터리에 있던 파일이 자동으로 옮겨지지는 않으므로 별도로 디렉터리를 생성하고 이동해야 함

 

패스워드 에이징 관련 명령

패스워드 에이징은 useradd, usermod, passwd, chage 명령으로 설정 가능

chage: 패스워드 에이징 변경 및 설정 내용 확인, -l 옵션으로 패스워드 에이징을 확인

 

userdel

기능 - 사용자 계정 삭제

형식 - userdel [옵션] [로그인 ID]

옵션

-r: 홈 디렉터리를 삭제

-f: 사용자가 로그인 중이어도 강제로 삭제

userdel user4
userdel -r user4

 

 

그룹 관리 명령

groupadd

기능 - 그룹을 생성

형식 - groupadd [옵션] [그룹명]

옵션

-g: gid: 그룹의 GID를 지정

-o: GID의 중복을 허용

groupadd gtest
groupadd -g 2020 gtest
groupadd -g 2020 -0 gtest

 

addgroup

기능 - 그룹을 생성

형식 - groupadd [옵션] 그룹명

옵션 --gid GID: 그룹의 GID를 지정

addgroup gtest
addgroup --gid 2013 gtest

 

groupmod

기능 - 그룹 정보를 수정

형식 - groupmod [옵션] [그룹명]

옵션

-g gid: 그룹의 GID를 수정

-o: GID의 중복을 허용

-n 그룹명: 그룹명을 다른 이름으로 바꿈

groupmod -g 3001 gtest
groupmod -g 3001 -o gtest2
groupmod -n gtest1 gtest

 

groupdel

기능 - 그룹을 삭제

형식 - groupdel [그룹명]

groupdel gtest

 

gpasswd

기능 - /etc/group와 /etc/gshdow 파일을 관리

형식 - gpasswd [옵션] [그룹명]

옵션

-a 사용자 계정: 사용자 계정을 그룹에 추가

-d 사용자 계정: 사용자 계정을 그룹에서 삭제

-r 그룹 암호를 삭제

gpasswd gtest01
gpasswd -a test01 gtest01
gpasswd -r gtest01

 

newgrp

기능 - 소속 그룹을 다른 그룹으로 바꿈

형식 - newgrp [그룹명]

newgrp adm

 

 

사용자 정보 관리 명령

UID와 EUID

  • UID: 실제 UID로 RUID, 사용자가 로그인할 때 사용한 계정의 UID
  • EUID는 유효 사용자 ID, 현재 명령을
  • 수행하는 주체의 UID를 의미

 

who

기능 - 현재 시스템을 사용하는 사용자의 정보를 출력

형식 - who [옵션]

옵션

-q: 사용자명만 출력

-H: 출력 항목의 제목도 함께 출력

-b: 마지막으로 재부팅한 날짜와 시간을 출력

-m: 현재 사용자 계정의 정보를 출력

-r: 현재 런레벨을 출력

who
who -b

 

w

기능 - 현재 시스템을 사용하는 사용자의 정보와 직업 정보를 출력

형식 - w [사용자명]

 

last

기능 - 시스템에 로그인하고 로그아웃한 정보를 출력

형식 - last

 

  • UID 출력: who ad i, who -m
  • EUID 출력: whoami, id

 

groups

기능 - 사용자 계정이 속한 그룹을 출력

형식 - groups [계정명]

 

root 권한 사용 방법

su 명령을 사용하여 root 계정으로 전환

일반 사용자에게 시스템 관리 작성 중 특정 작업만 수행할 수 있는 권한 부여: sudo

sudo 권한 설정하기

/etc/sudoers 파일에 설정

sudo 명령 사용하기

sudo 명령

 

passwd

기능 - 사용자 계정의 암호를 수정

형식 - passwd [옵션] [사용자 계정]

옵션

-l 사용자 계정: 지정한 계정의 암호를 잠금

-u 사용자 계정: 암호 잠금을 해제

-d 사용자 계정: 지정한 계정의 암호를 삭제

 

chown

기능 - 파일과 디렉터리의 소유자와 소유 그룹을 변경

형식 - chown [옵션] [사용자 계정] [파일명/디렉터리명]

옵션 - -R: 서브 디렉터리의 소유자와 소유 그룹도 변경

chown user2 file1
chown user2:grp01 file1
chown -R user2 file1

 

chgrp

기능 - 파일과 디렉터리 소유 그룹을 변경

형식 - chgrp [옵션] [사용자 계정] [파일명/디렉터리명]

옵션 - -R: 서브 디렉터리의 소유 그룹도 변경

chgrp han01 file1
chgrp -R han01 file1

 

 

디스크 사용량(쿼터) 설정

디스크 쿼터

  • 디스크 사용량을 제한하는 것
  • 두 가지 방법
    - 하드 디스크에서 사용자가 사용할 수 있는 파일의 전체 용량을 설정하는 방법
    - 사용자가 사용할 수 있는 총 파일 수를 설정하는 방법
  • 하드 리미트: 사용자가 절대로 넘을 수 없는 최대치를 명시한 값
  • 소프트 리미트: 일정 시간 내에는 넘을 수 있는 한계치를 설정한 값

 

quota 패키지를 설치

sudo apt install quota

 

쿼터 설정을 위한 사전 준비

디스크 쿼터는 사용자별 또는 그룹별로 설정

디스크 쿼터를 설정하려면 파일 시스템의 마운트 옵션에 쿼터 속성을 지정

- usrquota: 개별 사용자의 쿼터를 제한할 수 있는 속성

- grpquota: 개별 그룹의 쿼터를 제한할 수 있는 속성

 

실습 파일 시스템 준비

/dev/sdd2 디스크 사용

/home2 디렉터리에 /dev/sdd2 마운트하고 /etc/fstab에도 등록

/home2 디렉터리에 홈 디렉터리를 가진 사용자 계정 2개 설정

 

쿼터 속성 설정하기

vi로 /etc/fstab 파일을 열어서 usrquota 속성을 추가

grpuota도 적용하려면 usrquota 다음에 추가

 

quotacheck

기능 - 쿼터 파일을 생성·확인·수정하기 위해 파일 시스템을 스캔

형식 - quotacheck [옵션] [파일 시스템]

옵션

-a: 전체 파일 시스템을 스캔

-u: 사용자 쿼터를 확인

-g: 그룹 쿼터를 확인

-m: 파일 시스템 리마운트 하지 않는다

-v: 명령 진행 상황을 상세하게 출력

quotacheck -augvm
quotacheck -ugvm /dev/sdb1

 

디스크 쿼터를 관리하는 데이터베이스는 두 개 파일로 구성

  • aquota.user: 사용자 쿼터 데이터베이스 파일
  • aquota.group: 그룹 쿼터 데이터베이스 파일
  • 데이터베이스 파일은 해당 파일 시스템의 최상위 디렉터리에 생성

 

quotaon

기능 - 파일 시스템의 쿼터 기능을 활성화

형식 - quotaon [옵션] [파일 시스템]

옵션

-a: 전체 파일 시스템의 쿼터 기능 활성화

-u: 사용자 쿼터를 활성화

-g: 그룹 쿼터를 활성화

-v: 명령 진행 상황을 상세하게 출력

quotaon -augv
quotacheck -ugv /home

쿼터의 비활성화: quotaoff

 

edquota

기능 - 쿼터를 설정

형식 - edquota [옵션] [사용자 계정 또는 그룹명]

옵션

-u: 사용자 쿼터를 설정

-g: 그룹 쿼터를 설정

-p: 쿼터 설정을 복사

edquota -u qtest1
edquota -g hab01
edquota -p qtest1 qtest2

 

quota

기능 - 쿼터 정보 출력

형식 - quota [옵션] [사용자 계정 또는 그룹명]

옵션

-u: 사용자 쿼터 정보 출력

-g: 그룹 쿼터 정보를 출력

quota -u qtest1
quota -g han01

 

repquota

기능 - 쿼터 정보를 요약하여 출력

형식 - repquota [옵션] [사용자 계정 또는 그룹명]

옵션

-a: 전체 파일 시스템의 쿼터 정보 출력

-v: 사용량이 없는 쿼터의 정보도 출력

-u: 사용자 쿼터 정보를 출력

-g: 그룹 쿼터 정보 출력

repquota -a
repquota -u qtest1
728x90
반응형