[Linux] 사용자 관리

IkSun·2023년 5월 18일

리눅스실습

목록 보기
9/14
post-thumbnail

00 개요
01 사용자 계정 관련 파일
02 사용자 계정 관리 명령
03 그룹 관리 명령
04 사용자 정보 관리 명령
05 디스크 사용량(쿼터) 설정
연습문제


01. 사용자 계정 관련 파일

사용자의 계정 정보를 관리하는 두개의 파일

많아지는 passwd 에 대한 정보들을 따로 보관 -> shadow 에서 관리
psswd 에서는 사용자의 기본 정보 저장.
한줄에 하나씩 정보를 저장한다.

/etc/passwd 파일

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

etc/passwd 파일의 예


/etc/shadow 파일

  • 사용자 암호 에 관한 정보를 별도로 관리하는 파일
  • root 사용자만 읽고 쓸 수 있으며 shadow 그룹은 읽기만 가능
    • 로그인 ID : 사용자 계정의 이름
    • 암호 (패스워드): 실제 비밀번호가 암호화되어 저장
    • ❸ 최종 변경일: 암호가 마지막으로 변경된 날짜(1970년 1월 1일을 기준으로 날수를 지정)
    • ❹ MIN: 암호를 변경한 후 사용해야 하는 최소 기간
    • ❺ MAX: 암호를 사용할 수 있는 최대 기간
    • ❻ WARNING: 암호가 만료되기 전에 경고를 시작하는 날수
    • ❼ INACTIVE: 암호가 만료된 후에도 이 항목에 지정한 날수 동안은 로그인이 가능
    • ❽ EXPIRE: 사용자 계정이 만료되는 날짜(1970년 1월 1일을 기준으로 한 날수로 표시) - 이 계정은 이 날자를 지나면 로그인이 안되게끔
    • ❾ Flag: 향후 사용할 목적으로 비워둔 항목

etc/shadow 파일의 예

  • 사용자의 passwd 가 다음과 같이 복잡하게 암호화 되어 저장이 된다

/etc/login.defs 파일

  • 사용자 계정의 설정과 관련된 기본값 을 정의한 파일
  • max 값, min 값, warn_age 를 다음과 같이 디폴트로 설정해주겠다.


/etc/group 파일

  • 그룹의 정보가 저장된 파일
  • 사용자가 속한 그룹 중 /etc/passwd 파일의 GID 항목에 지정된 그룹이 기본 그룹 이며, 사용 자가 속한 2차 그룹 은 /etc/group 파일에 지정
    • ❶ 그룹 이름: 그룹의 이름
    • ❷ x: 그룹의 암호를 저장 (암호화되어 x 가 되어있다)
      : 그룹 암호는 newgrp 명령으로 자신이 속하지 않은 그룹으로 전환할 때 필요
    • ❸ GID: 그룹을 식별하는 번호
    • ❹ 그룹 멤버: 그룹에 속한 멤버들의 사용자 계정 이름
      : 쉼표(,)로 구분하여 사용자 계정 등록

/etc/group 파일의 예

  • 일반 유저가 만들어지면 그 유저 이름으로 그룹이 만들어지고, 그 유저이름의 이름으로 디폴트도 소속이 되게끔 설정된다.

/etc/gshadow 파일

  • 그룹의 암호 가 저장된 파일 (그룹의 암호를 걸 수 있다)
    • ❶ 그룹 이름 : 그룹의 이름
    • 그룹 암호 : 암호화된 그룹 암호
    • ❸ 관리자 : 그룹의 암호나 멤버를 바꿀 수 있는 사용자 계정으로 여러 개일 경우 쉼표로 구분
    • ❹ 그룹 멤버 : 그룹에 속한 멤버들의 사용자 계정 이름이며, 쉼표로 사용자를 구분

/etc/gshadow 파일의 예


02. 사용자 계정 관리 명령

useradd 명령으로 사용자 계정 생성하기

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

옵션 없이 계정 생성하기

  • useradd 명령을 옵션 없이 사용하면 홈 디렉터리가 생성되지 않고 기본 셸은 본 셸로 지정
  • user2 라는 계정을 만들면 etc/passwd 에 user2 에 대한 정보가 한줄 생기는것 뿐이다, etc/shadow 도 마찬가지
    • 이 명령어를 사용해도 되지만 암호가 만들어지지 않아 암호를 따로 설정해주어야함
    • 또한 user2 에 대한 홈 디렉토리가 안 만들어져이있다 \to -m 옵션을 사용해서 홈 디렉토리까지 만들어주어야 한다.
# 옵션 없이 계정 생성하기
sudo useradd user2			# 홈 디렉토리가 생성되지 않고 기본 셸은 본 셸로 지정 
							# -> 홈 디렉토리가 없어 / 디렉토리로 로그인 됨
sudo passwd user2 			# 사용자 계정을 만들면 암호도 만들어야 로그인이 가능

sudo useradd -m -d /home/user2 user2
sudo useradd -m -d /home/user2 -u 2000 -g 100 -s /bin/ksh user2

기본 설정 값 확인하기: -D 옵션

  • SKEL
    • 홈 디렉토리에 복사할 기본 환경 파일의 위치
    • 이라는 디렉토리에 내용을 저장해놓으면 나중에 홈 디렉토리까지 만들떄 skel 에 있는 정보를 다 카피 해와서 유저의 홈 디렉토리를 만들어준다.
# 기본 설정 값 확인하기 
useradd -D

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

  • 유저가 만들어질때 우분투에서는 로그인 쉘은 본쉘로 되어있다
  • 만약 이것을 bash 쉘을 바꾸고 싶다면 이 파일에 대한 내용을 bash 쉘로 바꾸어 놓으면 로그인 쉘이 bash 쉘로 바뀌게 된다.
cat /etc/default/useradd  

...

SHELL=/bin/sh
(생략)
  • vi 로 이 파일을 수정할 수 있지만 useradd -D 명령으로 수정하는 것이 바람직
  • -D 다음에 -b HOME, -e EXPIRE, -f INACTIVE, -g GID, -s SHELL 를 지정하여 수정 가능
sudo useradd -D -e 2022-12-31

/etc/skel 디렉토리의 역할

  • 사용자 계정의 홈 디렉터리에 공통으로 배포해야 할 파일을 /etc/skel 디렉터리에 만들어놓으면 사용자 계정을 생성할 때 자동으로 복사
  • 우분투의 디폴트로 skel 에는 3개의 파일이 있는데, 이는 홈 디렉토리를 만들떄 자동 복사해서 사용한다.
ls -a /etc/skel

#[결과]
# . .. .bash_logout .bashrc .profile

옵션을 지정하여 사용자 계정 생성하기

  • 여러가지 옵션을 사용하여 유저 만들기
# user3 이라는 홈 디렉토리가 만들어진것을 볼 수 있다
sudo useradd -s /bin/bash -m -d /home/user3 -u 2000 -g 1000 -G 3

# 
sudo useradd -e 2022-12-31 -f 5 -c "user4 test" user4


adduser 명령으로 사용자 계정 생성하기

# adduser [옵션] [로그인 ID]
adduser --uid UID		# UID 를 지정한다.
		--gid GID		# 기본 그룹의 GID 를 지정한다.
        --home DIR 		# 홈 디렉토리를 지정한다.
        --shell 셸 		# 기본 셸을 지정한다.
        --gecos 설명 	# 사용자의 이름 드 부가적인 설명을 지정한다.
        
adduser user5				# 옵션 없이 사용자 계정 만들기 -> /etc/passwd 파일 확인
adduser --uid 2001 user5 	#user5의 uid 를 2001 로 만들기
adduser --home /home/user5 -uid 2001 -gid 2100 --s /bin/sh user5

# 기본 설정 값 확인하기
# -adduser 명령의 기본 설정은 /etc/adduser.conf 에 저장
more /etc/adduser.conf

useradd 와 adduser 의 차이점

  • 유저를 만들면서 필요한 부가정보(특히 암호정보)를 설정하도록 물어봐줌, 그런 다음 설정해주고 생성해준다. -> 암호 바로 설정하고 싶으면 adduser 명령어 사용
  • 따로 암호 설정을 하겠다 라고 하면 useadd 명령어를 사용하면 된다

사용자 계정 정보 수정

usermod -u uid		#UID 를 수정한다.
		-o 			#UID의 중복을 허용한다.
        -g gid		#기본 그룹을 수정한다.
        -G gid		#2차 그룹을 수정한다.
        -d 디렉토리명 	#홈 디렉토리를 수정한다.
        -s 셸 		#기본 셸을 수정한다.
        -c 설명		#부가적인 설명을 수정한다.
        -f inactive	#계정 비활성화(INACTIVE) 날짜를 수정한다.
        -e expire	#게정 만료(EXPIRE) 날짜를 수정한다.
        -l			#계정 이름을 바꾼다.

# <-- UID 변경하기 -->
sudo usermod -u 1111 user1			#user1 계정의 UID 를 1111번으로 변경
sudo usermod -u 1001 -o user1		#user1 계정의 UID 를 user2 의 UID 1001로 중복 처리

# <-- 홈 디렉토리 변경하기 -->
# user1의 홈 디렉토리가 /home/user111 로 바뀌어 설정되었지만
# 이는 /etc/passwd 파일의 설정 값마 바꾼 것이며 실제로 /home/user111 디렉토리는 생성되지 않음
# 별도의 수작업으로 디렉토리르 만들고 파일을 옮겨야 함.
sudo usermod -d /home/user111 user1	# user1 계정의 홈 디렉토리를 /home/user1 에서 /home/user111로 변경

# <-- 로그인 ID 변경하기 -->
# 로그인 ID 를 바꿀 떄는 홈 디렉토리도 같이 바꿔주는 것이 좋음
# 기존의 홈 디렉토리에 있던 파일이 자동으로 옮겨지지 않으므로 별도로 디렉토티를 생성하고 이동해야 함
sudo usermod -d  /home/user44 -l user44 user4 # user4 계정의 로그인 ID를 user44 로 바꾸면서 홈 디렉토리도 같이 변경
        

패스워드 에이징 관련 명령

  • 패스워드 에이징은 useradd, usermod, passwd, chage 명령으로 설정 가능
  • 이 4개의 명령어를 사용해서 shadow 파일에 있는 이 설정값들을 변경해줄 수 있다.
# 기존 명령으로 패스워드 에이징 변경하기
sudo grep user3 /etc/shadow		#user3 의 현재 설정 확인

sudo usermod -f 10 -e 2022-11-30 user3
sudo passwd -n 2 -x 100 -w 5 user3

# 패스워드 에이징 변경 및 설정 내용 확인하기 : chage
sudo chage -m 2 -M 100 -W 5 -I 10 -E 2022-11-30 user44

# chage 명령으로 user44 게정의 패스워드 에이징을 확인 : -l 
sudo chage -l user44

사용자 계정 삭제

userdel			# passwd 와 shadow 파일에서 그 유저에 관한 한 줄만 삭제
userdel -r		# 홈 디렉토리를 삭제한다.
		-f		# 사용자가 로그인 중이여도 강제로 삭제한다.

userdel user4
userdel -r user4

# 사용자 계정만 삭제하기
# - userdel 명령에서 -r 옵션을 지정하지 않으면 사용자 계정만 삭제
sudo userdel user5		# 이렇게 되면 user5의 홈 디렉토리가 남아있게 된다.

# 사용자 계정과 홈 디렉토리 삭제하기 : -r 옵션 사용
sudo userdel -r user6

# 다른 곳에 위치한 사용자 계정 소유의 파일을 찾아 삭제하기
# 만약 유저가 홈 디렉토리가 아닌 다른 디렉토리에 파일을 생성했다면
# 관리자가 그 파일들을 찾아서 삭제해줘야함
# find / -user UID -exec rm -r {} \;
sudo find / -user 2001 -exec rm -r {} \;

따라해보기 : 사용자 계정 생성, 수정, 삭제하기

# 1) useradd 명령으로 test01, test02 사용자 계정을 생성
# 2) 생성한 사용자 계정을 확인
# 3) test01 사용자에 다음과 같은 패스워드 에이징을 설정
# 4) test03 계정의 UID 를 2010으로, 계정의 이름을 test33 으로 수정
# 5) test03 사용자 계정을 홈 디렉토리까지 삭제

03 그룹 관리 명령

groupadd 명령으로 그룹 생성하기

# 옵션 없이 그룹 생성하기
sudo groupadd gtest01
grep gtest /etc/group		
[실행결과] gtest01:x:2301:	#확인해보면 GID 를 가장 마지막 번호의 다음 번호로 자동 설정해줌

# GID 를 지정하여 그룹 생성하기 : -g 옵션
sudo groupadd -g 3000 gtest02
grep gtest /etc/group

# GID 를 중복하여 지정하기 : -o 옵션
sudo groupadd -g -3000 -o gtest0
grep gtest /etc/group

addgroup 명령으로 그룹 생성하기

# 옵션 없이 그룹 생성하기
sudo addgroup gtest04
grep gtest /etc/group

# GID 를 지정하여 그룹 생성하기 : --gid 옵션 사용
sudo addgroup --gid 3001 gtest05
grep gtest /etc/group

그룹 정보 수정

# GID 바꾸기
sudo groupmod -g 2500 gtest01
grep gtest /etc/group

# 그룹명 바꾸기 : -n 옵션
sudo groupmod -n gtest11 gtest01
grep gtest /etc/group

그룹 삭제

# gtest05 그룹 삭제
sudo groupdel gtest05
grep gtest /etc/group

그룹 암호 설정하고 사용하기

# 그룹에 멤버 추가하기
sudo gpasswd -a test01 gtest11  # 사용자 test01 을 gtest11 그룹에 등록
sudo gpasswd -a test33 gtest11
grep gtest11 /etc/group
[실행결과] gtest11:x:2500:test01,test33

# 그룹의 멤버 삭제하기
sudo gpasswd -d test33 gtest11	# gtest11 그룹의 멤버중 test33 계정 삭제

# 그룹 암호 설정
sudo gpasswd gtest11		# gtest11 그룹의 암호를 바꾸는중
sudo grep gtest11 /etc/gshadow
[실행결과] 
gtest11:(~~암호~~)::test01

# 그룹 암호 삭제하기 : -r 옵션
sudo gpasswd -r gtest11
sudo grep gtest11 /etc/gshadow
[실행결과]
gtest11:::test01

소속 그룹 변경하기 : newgrp

  • 사용자가 작업을 할 때 현재 소속 그룹을 기본 그룹이 아닌 다른 그룹으로 변경해야 할 때 사용하는 명령
# <-- 소속 그룹 변경 예 : user1 -->
id user1			# 현재 소속 그룹 확인
newgrp adm			# adm 그룹으로 변경 (2차 그룹이어서 그냥 변경)
newgrp gtest11		# 소속 그룹이 아닌 그룹으로 변경시 암호 필요

따라해보기 : 그룹 생성, 수정, 삭제하고 암호 설정하기

# 1) grp01, grp02 그룹을 생성하고 확인
groupadd

# 2) grop02의 GID 를 3100으로 변경 
groupmod -g

# 3) grp02 를 grp22 로 변경
groupmod -n

# 4) grp01 그룹에 user1 사용자를, grp22 그룹에 user2 사용자를 추가
gpasswd -a

# 5) grp22 그룹에 암호를 설정 
gpasswd

# 6) user1 의 소속 그룹을 grp22 로 변경
newgrp

# 7) grp01, grp22 그룹을 삭제

04. 사용자 정보 관리 명령

UID 와 EUID

  • UID : 실제 UID 로 RUID, 사용자가 로그인 할 때 사용한 계정의 UID
    • 최초 로그인 유저 id
  • EUID 는 유효 사용자 ID, 현재 명령을 수행하는 주체 의 UID 를 의미
    • su 명령을 통해서 user1 \to user2 로 바꿀 수 있는데, 그때 현재 권한을 가지고 명령을 실행하는 주체의 uid 즉, user2 의 uid 를 의미

사용자 로그인 정보 확인하기 : who 명령

 # 옵션 없이 사용
 who 
 
 # 각 항목의 제목 출력
 who -H
 
 # 로그인한 사용자 수와 계정 이름을 출력
 who -q
 
 # (중요) 시스템이 마지막으로 부팅한 날짜와 시간 정보를 출력
 who -b
 
 # 현재 런레벨을 출력
 who -r
 
 # 런레벨 : 서버는 'command' 로 부팅, 일반 사용자는 'gui' 로 부팅하는데 그것들이 runlevel 이라고 한다.

사용자 로그인 정보 확인하기 : w 명령

w			# 현재 시스템을 사용하는 사용자의 정보와 작업 정보를 출력한다.
w [사용자명]

last 명령

lasg		# 시스템에 로그인하고 로그아웃한 정보를 출력한다.

UID 와 EUID 확인하기 : whoami, who am i, id

  • UID 출력 : who am i, who -m
  • EUID 출력 : whoami, id
# user1 으로 로그인한 경우
whoami 			# 결과 : user1
id

# su 명령을 사용하여 사용자를 user2 로 전환하고 세 가지 명령을 실행
su user2
whoami
who am i
id 
who -m # -m 옵션 : 로그인한 내 정보 (정확하진 않음)

소속 그룹 확인하기 : groups 명령

# 사용자 계정을 지정하지 않으면 현재 사용자 계정이 속한 그룹 정보 출력
groups			

# 사용자 계정을 지정
groups user2

passwd 명령 활용하기 (중요)

# 내 암호를 수정하고, 관리자는 다른 유저의 암호를 수정할 수 있다
passwd -l 사용자 계정  # 옵션으로 그 사람의 암호를 lock을 걸수있다 -> 그 사람은 로그인 하지 못함
	   -u 사용자 계정  # unlock -> 암호 잠금 해제
       -d 사용자 계정  # 그 사람의 암호를 그냥 삭제


# 암호 잠그고 해제하기 : -l 옵션과 -u 옵션 (lock, unlock)
sudo passwd -l user2
sudo grep user2 /etc/shadow 	# 암호 앞에 ! 붙음

sudo passwd -u user2
sudo grep user2 /etc/shadow		# 암호 앞에 $ 붙음

# 암호 삭제하기 : -d 옵션
sudo passwd -d user2
sudo grep user2 /etc/shadow

파일 및 디렉토리의 소유자와 소유 그룹 변경하기

chown 명령

# 파일 디렉토리의 소유자와 소유 그룹을 변경한다.
chown

# chown 명령 사용 예
mkdir temp
cp /etc/hosts .
cp /etc/services temp
ls
-> hosts temp

ls -l 							# 최초 소유자, 그룹 확인
sudo chown user2 hosts			# 소유자 변경
sudo chown user1:han01 hosts	# 소유자와 그룹 변경 (user1 에서 han01 로 소유자 변경)
sudo chown -R user2:han01 temp	# 서브 디렉토리까지 소유자와 그룹 변경
								# temp 와 그 하위 디렉토리까지 전부 han01 소유로 변경

chgrp 명령

  • 파일과 디렉토리의 소유 그룹을 변경한다
chgrp han01 file1			# 그룹만 바꾼다.
chgrp -R user2 temp			# 서브 디렉토리까지 그룹 변경

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

디스크 쿼터

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

쿼터 설정을 위한 사전 준비

  • 디스크 쿼터는 사용자별 또는 그룹별 로 설정
  • 디스크 쿼터를 설정하려면 파일 시스템의 마운트 옵션 에 쿼터 속성을 지정
    • usrquota : 개별 사용자의 쿼터를 제한할 수 있는 속성
    • grpquota : 개별 그룹 쿼터를 제한할 수 있는 속성

실습 파일 시스템 준비

  • /dev/sdd2 디스크 사용
  • /home2 디렉토리에 /dev/sdd2 마운트하고 /etc/fstab 에도 등록
  • /home2 디렉토리에 홈 디렉토리를 가진 사용자 계정 2개 설정

쿼터 속성 설정하기

  • vi 로 /etc/fstab 파일을 열어서 usrquota 속성을 추가
  • grpquota 도 적용하려면 usrquota 다음에 추가
# /etc/fstab 을 미리 설정해놓으면 자동 마운트 됨
sudo vi /etc/fstab		# usrqiota, grpquota 작성후 :wq!

쿼터 속성 적용하기

sudo mount -o remount /home2 	# 다시 마운트하고 
mount							# 속성확인

쿼터 데이터베이스 파일 생성하기 : quotacheck

# 디스크가 어떤 디렉토리가 마운트가 되면, 그 디렉토리 밑에 데이터 베이스 파일 생성
# 텍스트 파일은 아니고 바이너리 파일임
# quotacheck [옵션] [파일 시스템]

quotacheck -a # 전체 파일 시스템을 스캔한다.
		   -u # 사용자 쿼터를 확인한다.
           -g # 그룹 쿼터를 확인한다.
           -m # 파일 시스템을 리마운트
           -v # 명령 진행 상황을 상세하게 출력한다.

quotacheck -augvm
quotacheck -ugvm /dev/sdb1 

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

  • aquota.user : 사용자 쿼터 데이터베이스 파일

  • aquota.group : 그룹 쿼터 데이터 베이스 파일

  • 데이터베이스 파일은 해당 파일 시스템의 최상위 디렉토리 에 생성

  • 앞에서 quotacheck 은 /home2 파일 시스템을 확인할 것이므로 aquota.user 파일이 /home2 디렉토리에 생성

ls -l /home2/a*  	# 쿼터 데이터베이스 파일 확인

쿼터 사용 활성화 하기 : quotaon 명령

# 쿼터 사용 활성화 on
# quotaon [옵션] [파일 시스템]

quotaon -a # 전체 파일 시스템의 쿼터 기능을 활성화한다.
		-u # 사용자 쿼터를 활성화한다.
        -g # 그룹 쿼터를 활성화한다.
        -v # 명령 진행 상황을 상세하게 출력한다.

quotaon -augv
quotaon -ugv /home

# /home2 파일 시스템의 쿼터 활성화
sudo quotaon -uv /home2

# 쿼터의 비활성화
quotaoff

쿼터 설정하기 : edquota 명령

# edit 쿼터로 쿼터 설정 가능
# 이 명령어를 치면 텍스트(디폴트 나노 에디터)가 열리면서 이 디바이스에 대해서, 이 유저에 대해서 설정 가능
# 블록단위로 16개까지, soft, hard 리미트가 어떻게 되고
# 저장이 되고 나오면 DB 에 저장이 되어서 설정이 됨
edquota [옵션] [사용자 계정 또는 그룹명]

edquota -u # 사용자 쿼터를 설정한다.
		-g # 그룹 쿼터를 설정한다.
        -p # 쿼터 설정을 복사한다.
        
edquota -u qtest1			# qtest1 사용자에게 쿼터를 할당 예 : 쿼터는 KB 단위로 할당
							# 소프트 리미트를 20, 하드 리미트는 22 로 설정
edquota -g han01
edquota -p qtest1 qtest2

쿼터 정보 확인하기 : quota 명령

# 설정된 쿼터 정보를 출력한다.
# 유저의 쿼터, 그룹의 쿼터 정보는 어떻게 되는지 확인 가능
# -p 옵션
# quota [옵션] [사용자 계정 또는 그룹명]
quota -u # 사용자 쿼터 정보를 출력한다.
	  -g # 그룹 쿼터 정보를 출력한다.
      
quota -u qtest1
quota -g han01

# qtest1 계정에 설정된 쿼터 정보를 확인
sudo quota qtest1

# 할당된 쿼터를 초과하여 디스크를 사용하려고 하면 다음과 같은 메시지가 출력

업로드중..

쿼터 설정 복사하기 : edquota -p

# qtest1 의 쿼터 설정을 qtest2 로 복사
sudo edquota -p qtest1 qtest2
sudo quota qtest2

쿼터 정보 요약 출력하기 : repquota 명령

# 쿼터 정보 요약하여 출력
# -a 옵션
# repquota [옵션] [사용자 계정 또는 그룹명]
repquota -a # 전체 파일 시스템의 쿼터 정보를 출력한다.
		-v # 사용량이 없는 쿼터의 정보도 출력한다.
        -u # 사용자 쿼터 정보를 출력한다.
        -g # 그룹 쿼터 정보를 출력한다.
        
sudo repquota -a		# 현재 설정된 쿼터 정보 확인 예
repquota -u qtest1

따라해보기 : 그룹 쿼터 설정하기

# 1) /etc/fstab 파일에서 /home2 파일 시스템에 그룹 쿼터 속성을 설정
# 2) /home2 파일 시스템을 다시 마운트
# 3) /home2 파일 시스템의 마운트 옵션을 확인
# 4) quotacheck 명령으로 그룹 쿼터 데이터베이스를 생성
# 5) quotaon -g 명령으로 그룹 쿼터를 활성화
# 6) qtest1 그룹의 쿼터를 설정
# 7) qtest1 그룹의 쿼터 설정을 확인

업로드중..

profile
공부한 것 기록용

0개의 댓글