사용자 & 그룹

- 사용자 계정이랑?

> 사람이 장치를 사용하기 위해 로그인하는 계정

> 운영체제를 사용하는 사람 개개인에게 생성해주는 계정

(각종 작업을 누가 했는지 식별하기 위해 사용자 개개인에게 생성)

> 사용자 계정을 이용하여 파일/디렉터리의/ 사용 권한 설정이 가능

(같은 파일을 a사용자는 열고 b사용자는 열 수 없게 지정 가능)

 

- 그룹이란?

> 사용자 계정을 묶어주기 위한 객체

(사용자 계정의 논리적인 집합체)

> 관리자가 주로 제어

(그룹 생성/수정/삭제, 그룹에 사용자 계정을 소속시키는 등)

> 그룹에 권한을 부여하여 그룹에 소속된 사용자들이 동일한 권한을 적용받을 수 있다.

 

사용자 계정

- 사용자 계정에 관련된 파일

1. /etc/passwd : 사용자의 일반 정보가 들어있는 파일

* 파일 내용 보는 방법 (구분자 ‘:’)

itbank:x:1000:1000:asd:/home/itbank:/bin/bash
itbank 사용자 ID, 뒤의 정보들이 어느 사용자의 정보인지 표시
x  암호, passwd 파일에는 비밀번호를 표시하지 않음
1000(왼쪽) UID, 이 사용자의 고유 번호
1000(오른쪽) GID, 이 사용자가 소속된 주요 그룹의 고유 번호
asd 사용자 별칭(계정명 혹은 ID로 사용 X, GUI환경에서 화면 에 표시 되는 이름)
/home/itbank 사용자의 홈 디렉토리의 경로와 이름을 절대경로로 저장
/bin/bash  이 계정이 사용하는 shell

 

* UID : User ID, 사용자에게 부여되는 고유번호

* GID : Group ID, 그룹에게 부여되는 고유번호

0 : root

1 ~ 199 : system or service

1000 ~ : 일반 사용자&그룹

* shell : 명령어 해독기, 사용자가 입력한 명령을 운영체제에 전달해주는 역

              shell에 따라 알지 못하는 명령어도 있다.

              현재 시스템에 설치된 shell/etc/shells 파일에서 확인 가능

 

            passwd 파일에 저장된 정보중 shell위치에 /sbin/nologin이 있다.

                > 명령어 사용 shell X, 로그인을 하지 못하게 만드는 shell(system or service 계정에 부여)

 

2. /etc/shadow : 사용자의 고급 정보가 들어있는 파일

* 파일 내용 보는 방법

 

itbank:$6~~:18978:0:99999:7:::
itbank 사용자 ID, 뒤의 정보들이 어느 사용자의 정보인지 표시
$6$~~$~~ 암호, 사용자가 로그인 시 사용하는 비밀번호를 암호화하여 저장 (!! : 패스워드가 없다)
18978 암호 생성 일자, 1970 1 1일을 기준으로 며칠째에 생 성된 암호인지 표시
(운영체제 설치 시 저장된 암호는 생성 일자가 표시 x)
0 암호 최소 사용 일자
99999  암호 최대 사용 일자(= 암호 만료 일자)
7  암호 만료 전 경고 일자

※ ** 이 뒤에 나오는 정보들은 거의 사용 X >> 생략

 

 

3. /etc/login.defs : 사용자 & 그룹 생성 및 삭제와 관련된 몇몇 정보들이 들어있는 파일

 

 

- 사용자 암호 변경

             passwd : 명령어를 입력한 사용자의 암호 변경(모든 사용자)

             passwd <계정명> : 해당 사용자의 암호 변경(관리자만 사용)

 

             *옵션

              -l : 패스워드 잠금 설정

             -u : 패스워드 잠금해제

 

- 사용자 계정 생성

useradd [옵션] [값] ... [옵션] [] 사용자명

옵션
-u UID 지정
-g GID 지정(주요 그룸으 다른 그룸으로 지정)
-c 별칭 지정
-s  shell 지정
-d 홈 디렉토리의 경로와 이름을 절대경로로 지정(홈 디렉토리가 만들 어질 경로는 미리 생성)
/etc/login.defs 파일의 CREATE_HOME 설정이 없거나 no이면 m 옵션과 함께 사용
-m make directory
-k skel 지정(기본경로인 /etc/skel이 아닌 다른 디렉토리를 skel로 지 ) 반드시 -m 옵션과 함께 사용
-D 사용자 생성 시 적용되는 기본 정보 확인 추가 옵션을 함께 사용하 여 기본 정보 변경(ex. -b 옵션을 함께 사용하면 홈 디렉토리 생성 위치 변경)
-D 옵션을 사용하면 사용자 계정 생성 기능이 없어진다.

* /etc/skel : 사용자 홈 디렉터리의 뼈대가 되는 디렉터리

                   사용자 생성 시 홈 디렉터리 내부에 /etc/skel/ 안에 있는 파 /디렉터리들을 복사

                           > 사용자 홈 디렉토리 내부에 특정 파일/디렉터리를/ 자동으로 생성 가능

 

  /etc/default/useradd

                 : 사용자 생성 시 적용되는 기본 정보가 저장된 파일

                   이 파일의 내용을 변경하면 useradd의 옵션을 사용하지 않아도 같 은효과 확인 가능

 

그룹

- 사용자 계정을 묶어주기 위한 객체

       > 그룹에 권한을 부여해서 그룹에 소속된 모든 사용자가 동일한 권한을 적용 받음

- 사용자가 그룹에 소속되는 방법을 두 가지로 분류

   1. 사용자가 그룹을 주요 그룹으로 사용(GID로 사용)

   2. 사용자가 그룹에 일반 소속되어 사용

 

- 그룹에 관련된 파일

         /etc/group : 그룹의 일반정보가 들어있는 파일

         * 파일 내용 보는 방법

 

itbank:x:1000:
itbank 그룹 이름, 뒤의 정보가 어느 그룹의 정보인지 알려준다.
x 암호, 그룹에는 별도의 암호를 지정하지 않는다.
1000 GID, 해당 그룹의 고유번호
<마지막 필드> 그룹에 일반 소속된 사용자들의 목록 운영체제 설치과정에 서 생성된 사용자들은 주요 그룹의 일반소속 목록에 함께 출력

 

- 그룹 생성

     groupadd [옵션] [] ... [옵션] [] 그룹명

 

     * 옵션

         -g : GID 지정

 

- 그룹 정보 수정

     groupmod 옵션 값 [옵션] [] ... [옵션] [] 그룹명

 

     * 옵션

        -g : GID 지정

        -n : 그룹 이름 지정

 

- 그룹 삭제

     groupdel 그룹명

 

* 사용자가 주요그룹(GID)으로 사용중인 그룹은 삭제 X

 

사용자 + 그룹

- 사용자를 생성하면 동일한 이름의 그룹이 자동으로 생성

   > 기본적으로 사용자는 함께 만들어진 그룹을 자신의 주요 그룹(GID)으로 사용

 

- 사용자가 일반 소속된 그룹과 사용자의 주요 그룹은 언제든지 변경 가능

   > 주요 그룹

        사용자 정보 수정(usermod)-g 옵션 사용

 

   > 일반 소속된 그룹

        사용자 정보 수정(usermod)-G 옵션 사용 >> 가급적 사용 X

        gpasswd 명령어 >> 그룹을 기준으로 일반 소속된 사용자 목록을 편집

 

 

gpasswd

- 그룹에 소속된 일반 사용자 목록을 제어

- 형식

     gpasswd 옵션 사용자명 그룹명

 

   * 옵션

      -a : 사용자를 그룹에 일반소속

      -d : 그룹에 일반 소속된 사용자 목록에서 특정 사용자 제거

 

id

- 사용자의 UID, GID, 소속된 그룹의 목록 확인

- 형식

id 사용자명

 

 

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

권한  (0) 2022.10.17
사용자 계정 실습  (0) 2022.10.17
VI 에디터  (0) 2022.10.13
기초 명령어  (0) 2022.10.12
프롬프트 출력 내용, 디렉터리  (1) 2022.10.12

+ Recent posts