본문 바로가기
리눅스 마스터

리눅스 마스터 11

by 윤라경 2024. 7. 27.

[2024.07.27]

 

[사용자 관리]

 

01. 사용자 생성/수정/삭제

 

1) 사용자 생성

 

#useradd [계정명]

 

> /etc/passwd  <-- 사용자 정보 추가/저장

test4:x:1002:1002::/home/test4:/bin/bash

[계정명]:[패스워드]:[UserID]:[GID]:[Comment]:[홈 디렉터리]:[사용자 셸 종류]

 

*:: 사이에 yrg라는 사용자를 넣어 줄 수도 있다

 

> /etc/shadow  <-- 암호화된 패스워드 정보 추가/저장

> /etc/group  <-- 그룹 정보 추가/저장

> /home/ 계정 디렉터리 생성

> /var/spool/mail  <-- 사용자 메일 박스 

 

*spool 아래의 mail이지만 심볼릭 링크가 존재하여 mail로 바로 넘어갈 수 있다

 

2) 사용자 삭제

 

#userdel -r [사용자명]

> 각 에디터를 들어가서 직접 삭제 진행

 

3) 사용자 정보 수정

 

#usermod [옵션] [설정값] [계정명]

 

#usermod -c test4 test4
#usermod -d /home/test3 test4
#usermod -s /bin/sh test4

 

<옵션>

-l: 계정명

-u: UID

-g: GID

-c: 코멘트(설명)

-d: 계정 홈 디렉터리

-s: 셸

 

 

<실습>

 

해당 디렉터리들에서 생성한 사용자를 확인할 수도 있다

 

 

명령어가 아니더라도 해당 파일들에서 사용자를 생성할 수도 있다

이번에는 test4를 만들기 위해 위와 같이 수정해 준 다음 저장했다

로그인을 막을 수도 있는데 sbin/nologin을 입력하게 되면 해당 계정은 로그인이 불가하다

 

 

group 파일도 마찬가지로 수정 후 저장

 

 

shadow 파일의 경우에도 수정 후 저장을 진행하는데,

shadow 파일의 경우 읽기 전용 파일이기 때문에 wq!로 강제 저장 후 저장해야 된다

 

 

그렇게 되면 세 개의 파일들에서 생성한 사용자를 확인할 수 있다

 

 

useradd로 사용자를 생성하더라도 파일은 빈 파일이기 때문에

mkdir 및 touch 명령어를 이용하여 생성하게 되면 사용자를 생성하는 것과 같이 만들 수 있다

 

 

 

-c 옵션을 이용하여 코멘트를 달아 사용자 정보를 수정할 수도 있다

 

 

-d 옵션의 경우 계정 홈 디렉터리에 있던 test4를 test3로 변경시키는 역할을 한다 

 

마지막 셸의 경우도 -s 옵션으로 변경이 가능하다

 

 

02. 계정 생성 시 참조 파일

 

> /etc/login.defs

> /etc/skel/.bash_*  <-- 셸 환경 설정 파일

 

 

03. /etc/shadow

 

>  암호화된 패스워드 정보 저장

 

[계정명]:[암호화된 패스워드]:[최초 변경 후 지난 일수]:[최소 변경일]:[최대 유효 기간]:[경고일]:[비활성화 기간]:[계정 만료일]

 

 test4:$6$oAdqZ7laYMZkGPeb$5jZkOIScSNxuTkOK:19931:0:99999:7:::

 

> 계정 패스워드 정보 변경

#chage -m 10 test4

#chage -M 1000 test4
#chage -W 999 test4
#chage -I 777 test4
#chage -E 2024/12/31 test4

 

> 계정 패스워드 정보 확인

# chage -l test4

 

<옵션>

-m: 최소 변경일

-M: 최대 유효 기간

-W: 만료 경고일

-I: 비활성화 기간

-E: 계정 만료일

-l: 패스워드 정보 출력

 

 

<실습>

 

test4의 비밀번호를 변경할 때 새 비밀번호가 8자보다 짧아서,

새 비밀번호가 현재 비밀번호와 동일하여, 또 새 비밀번호가 사전에 있는 단어이거나

너무 단순하여 보안상 취약한 경우 등으로 변경이 불가하다

 

 

이럴 때 해시 암호문에서 0이 들어 있는 부분에

1을 넣어 주게 되면 비밀번호 변경 자체가 불가능해진다

 

 

여덟 번째 피드는 비밀번호 변경 최소 일수를 나타내며,

여기에서 1로 설정하면 사용자는 마지막 비밀번호 변경 후 1일이

지나기 전까지는 비밀번호를 변경할 수 없게 된다

 

 

다시 0으로 변경 후 대소문자와 특수기호를 넣은 8자를 입력하면 변경된다

 

 

이런 식으로 위의 설명과 같은 옵션들로 실습을 진행해 보았다

 

 

03. 그룹 사용자

> 디폴트 그룹, 일반 그룹

 

1) 생성/추가

 

#groupadd [그룹명]  <-- 일반 그룹

#groupadd grp1

 

2) 변경/수정

 

3) 삭제

 

#groupdel [그룹명]  <-- 일반 그룹

#groupdel grp1

 

4) 그룹에 사용자 추가

 

#usermod [옵션] [그룹명] [추가할 사용자명]

#usermod -G grp1 test1

 

#gpasswd [옵션] [사용자] [그룹명]

#gpasswd -a test1 grp1

 

5) 그룹에서 사용자 삭제

 

#gpasswd -d [사용자] [그룹명]

#gpasswd -d test2

 

6) 하나의 그룹에 두 사용자 추가

 

#usermod -G [그룹1,그룹2] [사용자]

#usermod -G study,dance test1

 

*스페이스를 두면 안 된다

 

 

<실습>

 

groupadd 명령어를 이용하여 grp1 그룹을 생성

 

 

korea1이라는 사용자도 같이 생성시킨다

 

 

그룹과 사용자를 동시에 생성했는데 passwd 파일에서는 그룹은 보이지 않는다

반면에 group 파일에서는 사용자와 그룹이 모두 보이는 걸 확인할 수 있다  

 

 

-G 옵션을 이용하면 grp1이라는 그룹에 user1이라는 사용자를 추가할 수 있다

 

 

study라는 그룹을 생성하고 그 study 그룹에 user2, user3를 동시에 추가시켰다

 

 

삭제를 진행할 때는 해당 문구가 보여지며 제거가 진행된다

실제 group 파일을 확인해 봐도 삭제된 걸 확인할 수 있다

 

 

콤마를 이용해 두 개의 그룹에 사용자를 추가할 수 있는 것까지 확인 후

그룹 사용자에 대한 실습을 마무리했다

 

 

04. 사용자, 그룹명 변경

 

1) 사용자(소유자)명 변경

 

#chown [옵션] [소유자명] [파일/디렉터리]

#chown user1 dir1

#chown user1 file1

 

> 한 번에 소유자명, 그룹명 변경

#chown [소유자명].[그룹명] [파일/디렉터리]

#chown user1.grp1 dir1

#chown user1:grp1 dir1

 

> 하위 디렉터리까지 전부 변경

#chown [소유자명].[그룹명] [파일/디렉터리] -R

#chown root * -R  <-- 하위 디렉터리까지 전부 소유자명을 root로 변경

#chown user1:grp1 dir1 -R

 

d(파일 유형)rwxr-xr-x(허가권). 2(링크 수) root(소유자명) root(그룹명) 6(파일 크기)  7월 27 17:11(수정일) dir1(디렉터리명)

 

<파일 유형>

-: 일반 파일

-d: 디렉터리

l: 심볼릭 링크(링크 파일)

 

b: 블록 장치

c: 문자 장치

 

*위의 세 개를 많이 사용한다

 

 

 

유저와 디렉터리 및 파일을 생성한다

 

 

chown 명령어를 이용하여 file1과 dir1에 각각 user1이라는 사용자를 부여했다

 

 

물론 여기에서 와일드카드를 적용시켜 모두에 user1을 부여할 수도 있다

 

 

그룹을 지정할 때는 chgrp 명령어를 사용해 지정시켜 주면 된다 

 

 

그룹의 경우에도 와일드카드 사용이 가능하며 전체 적용이 가능하다

 

 

점을 이용해 사용자와 그룹을 지정할 수도 있다

 

 

콜론도 가능한 걸 확인할 수 있다

 

 

-R 옵션을 이용하면 하위 디렉터리까지 전부 변경 가능한 것까지 확인하는 실습을 진행했다

 

==========================================

 

<미션1>

 

01. 사용자 생성

 

> user1, user2, user3, user4, user5

 

02. 사용자 정보 변경

 

> user1, user2:코멘트(각각 user1, user2), 셸(bin/sh)

> user3, user4: 홈 디렉터리(각각 /home/korea)

 

03. 패스워드 정보 변경

 

> user1: 최소 변경일(5), 최대 유효 기간(999)

> user2: 최대 유효 기간(1000), 경고일(10)

> user3, user4: 최소 변경일(10), 계정 만료일(2024/12/31)

> user5: 경고일(100), 비활성화 기간(90)

 

04. 계정 패스워드 정보 출력

 

> user1, user3, user5

 

 

 

사용자 생성

 

 

사용자 정보 변경 및 패스워드 정보 변경

 

 

계정 패스워드 정보 출력의 화면이지만

원래라면 chage -l user5를 실행했을 때 비활성화 기간이 나타나야 하지만,

오류로 인해 실행 시에 아무것도 뜨지 않는 화면이 나타났다

 

 

계정 패스워드 정보 출력의 화면에서는 보이지 않았지만

shadow 파일을 확인했을 때 변경된 걸 확인할 수 있었다

 

====================================================

 

 

실습 내용과 별개로 exrc 파일은 텍스트 파일의 편집기 파일이다

자동으로 실행할 명령어를 이 파일에 입력 후 저장하게 되면 자동으로 실행된다

복습하는 개념으로 중간에 나와서 적어 봤고 편리성을 위해 블로그에 적었다

 

 

 

강의 내용

오늘의 강의는 사용자와 그룹 위주로 진행되었다

처음에 사용자 생성 후 삭제가 진행되지 않아 어려움을 겪었지만

각 에디터에 들어가서 삭제를 진행시켜 주면 그것대로 삭제가 된다는 방법을 알게 됐다

리눅스 마스터에서 배우는 실습들은 모두 손에 익을 때까지

충분한 연습이 필요한 명령어 위주이기 때문에 오늘도 이 블로그 작성 후 연습을 목표로 하고 있다

'리눅스 마스터' 카테고리의 다른 글

리눅스 마스터 13  (0) 2024.08.03
리눅스 마스터 12  (0) 2024.07.29
리눅스 마스터 10  (5) 2024.07.21
리눅스 마스터 9  (0) 2024.07.21
리눅스 마스터 8  (0) 2024.07.14