LINUX

Linux/user account management(사용자 계정 관리)(/etc/passwd)

25G 2021. 10. 30. 10:01

일반 사용자 생성, 삽입, 삭제를 해보자.

 

사용자 관련 파일,디렉토리

 

/etc/passwd

/etc/shadow

/etc/group

/etc/gshadow

/etc/login.defs

/etc/default/useradd

/home/

/etc/skel/

 

 

/etc/passwd == 사용자 정보 확인

    ->생성된 사용자 정보는  /etc/shadow 에 저장이 되고 저장된 사용자 정보를 /etc/passwd 에서 확인

이 파일만 잘 알아도 사용자 작업하기가 수월하다.

 

규칙

-각 필드는 :으로 나눈다.

-각 필드마다 가지는 의미가 있다.


ex) korea:x:1000:1000:korea:/home/korea:/bin/bash

 

첫 번째 필드 (korea) : 사용자 명

두 번째 필드 (x) : 패스워드 필드

    -보안상 x문자로 표기돼 있다.

    -etc/shadow에 비밀번호가 암호화된 채로 등록돼 있다.

    -일반 사용자는 etc/shadow에 암호화된 비밀번호를 볼 권한이 없다.

    -다음과 같이 허가권 부분을 보면 etc/shadow는 아무도 접근할 수 없게 막혀있는 것을 볼 수 있다.

 

세 번째 필드 (1000) : UID ->user id

네 번째 필드 (1000) : GID ->group id

다섯 번째 필드(korea) : Comment -> 주석(설명) , 닉네임

여섯 번째 필드(/home/korea) : 사용자 홈 디렉터리 경로

    -사용자 생성 시 사용자명과 동일한 이름으로 자동으로 구성

일곱 번째 필드(/bin/bash) : shell타입 -> 명령어 해석기

shell

user가 s/w를 통해서 h/w에게 직접적인 명령을 내리면 커널이 h/w를 관리해 준다.

이때 문제가 되는 것은 컴퓨터가 사람이 하는 말을 직접적으로 알아먹을 수 없다. 그리고 커널은 프로그램이 내리는 명령어 또한 알아먹을 수 없다. 이때 컴퓨터 언어를 할 줄 아는 커널에게 프로그램 언어를 컴퓨터 언어로 바꿔주는 것이 shell이다.

통역사 같은 친구이다.

 

대표적인 shell타입

    -bourne shell : sh == 최초 개발 shell -> 기능이 좀 떨어진다

    -bourne again shell : bash == linux 표준 shell

    -korn shell : ksh == unix 표준 shell

 

 

사용자 계정 만들기(일반 계정)

 

 

useradd == 사용자 생성

useradd [옵션] [인자 값] [계정명]

useradd [계정명] : 시스템에 설정되어 있는 기본 생성 정보대로 사용자 생성 요청

-c 옵션 : 해당 계정만 코멘트 값 설정 수정

-s 옵션 : 해당 계정만 shell타입 설정 수정

-u 옵션 : 해당 계정만 user di값 수정

-g 옵션 : 해당 계정만 GID값 수정

 

위 옵션은 외울 필요 없이 /etc/passwd에 있는 필드 값들의 앞글자로 된 옵션이기 때문에 /etc/passwd의 필드 내용만 잘 알면 그 필드의 앞글자만 따오면 된다.

 

패스워드 설정하기

 

passwd : 현제 접속한 사용자의 패스워드 설정

passwd [계정명] : 지정한 사용자 패스워드 설정 -> 관리자만 가능