관리 메뉴

Today is Present.

10 사용자 및 그룹관리 실무 본문

리눅스 학습

10 사용자 및 그룹관리 실무

MorningPhys 2020. 11. 30. 00:40

# 지금 현재 나는 누구인가 ?

[root@localhost ~]# id morphys
uid=1000(morphys) gid=1000(morphys) groups=1000(morphys)

# EUID 란 "Effective UID" 라는 의미로서 유효사용자 ID 라는 것이다. 즉, 명령어를 실행하였을 경우에 실행된 명령어가 실질적으로 사용하게 될 권한 사용자를 의미한다.

[root@localhost ~]# id -un // EUID(Effective User ID) 정보 확인
root
[root@localhost ~]# id -u
0

[root@localhost ~]# id -g morphys
1000

 

# "who am i" 는 최초 어떤 사용자로 로그인하였나를 확인하는 것이다.

[root@localhost ~]# who am i
root     pts/0        2016-10-04 11:34 (10.0.2.2)
- root : 최초접속자 ID

- pts/0 : 최초접속시 사용했던 터미널장치명

- 2016-10-04 11:34 : 최초접속당시의 접속시간

- 10.0.2.2 : 최초접속당시 IP 주소

 

# whoami 명령어는 현재 사용자의 EUID 를 확인하는 명령어이다.

즉, 어떤 명령어를 실행하였을 경우에 morphys 이라는 사용자 권한으로 실행됨을 의미한다.

 

# EUID 확인(morphys)

[morphys@localhost ~]$ whoami
morphys

 

# UID 확인(morphys)

[morphys@localhost ~]$ who am i
morphys  pts/1        2016-10-04 12:08 (10.0.2.2)

 

# 사용자 정보확인

[morphys@localhost ~]$ id
uid=1000(morphys) gid=1000(morphys) groups=1000(morphys) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

# 다른 계정사용자로 변신할 수 있는 su 개론

-c : 쉘을 실행하지 않고 주어진 명령만을 수행한다.

-s : 지정된 쉘로 로그인한다.

-, -l : 지정한 사용자의 환경변수를 적용하여 로그인한다.

 

# su - root 와 su root 의 차이점 (env 로 확인)

su - root : root 의 쉘환경까지 모두 적용된다.

su root :  "-" 또는 "-l" 옵션을 사용하지 않았기 때문에 root 의 쉘 환경변수를 가져오지 못한다.

# 계정변경없이 특정명령어만 실행하기

[morphys@localhost ~]$ su -c 'cat /etc/shadow' - root

 

# 다른 계정으로 변환할 때 사용할 쉘지정하여 변환하기 : su -s /bin/sh - root

[morphys@localhost ~]$ cat /etc/shells // 리눅스에서 사용가능한 쉘종류 확인하기

[morphys@localhost ~]$

[morphys@localhost ~]$ su -s /bin/sh - root

 

# 로그인 사용자명을 확인하는 logname

[morphys@localhost ~]$ logname

 

# 현재 시스템에 접속한 사용자를 확인하기

[morphys@localhost ~]$ who

[morphys@localhost ~]$ who -m

[morphys@localhost ~]$ who -H // NAME, LINE, TIME, COMMENT 필드를 제목줄에 출력

[morphys@localhost ~]$ who -uH // idle time 정보 확인

[morphys@localhost ~]$ who -aH // 모든 정보 확인(-b, -d, --login, -p, -r, -t, -T, -u 옵션)

 

# 시스템 부팅정보 확인하기

[morphys@localhost ~]$ last reboot

[morphys@localhost ~]$

 

# 로그인 사용자들의 실행명령어 확인하기(w)

① 서버의 현재시각정보

② 서버의 부팅한 이후의 시스템 작동시간

③ 서버접속자의 총 수

④ 접속자별 서버 평균부하율 정보

⑤ 접속자별 서버접속 계정명

⑥ 접속자별 접속 TTY

⑦ 접속자별 접속한 IP 주소

⑧ 접속자별 로그인 시각정보

⑨ 접속자별 CPU 사용정보(JCPU, PCPU)

  - JCPU : TTY 필드에서 사용하는 장치명에서 사용하는 모든 프로세스의 CPU 사용시간

  - PCPU : 해당 프로세스에서 사용하는 CPU의 총시간

⑩ 접속자별 현재 사용명령어 정보

 

# 현재 시스템 접속한 사용자는 누구인가?

[morphys@localhost ~]$ users

 

# 리눅스 시스템 사용자계정 생성 및 관리

① /etc/passwd 파일에 사용자의 계정 생성

② /etc/shadow 파일에 계정 패스워드 등록

③ /etc/group 파일에 사용자의 그룹생성

④ /home 에 사용자의 홈디렉토리 생성

⑤ FTP 사용을 위한 FTP 사용 환경설정

⑥ 메일 사용을 위한 메일환경 설정

⑦ 사용자의 로그인 정보 및 환경설정

⑧ 사용자의 디렉토리 및 파일 소유권 변경 및 확인

⑨ DB 사용을 위한 환경설정 및 응용프로그램 사용을 위한 환경설정

⑩ 기타 응용 소프트웨어 사용을 위한 설정 등

 

# useradd 의 옵션들

-c : 대부분 사용자명을 입력(comment)

-d : 생성하는 계정의 홈디렉토리 위치 지정(-d /home/morphys)

-e : 생성하는 계정의 사용종료일자 지정(-e 2012-12-31)

-f : 생성하는 계정의 유효일자 지정(-f -30, 앞으로 30일 동안 유효한 계정)

-g : 생성하는 계정의 로그인 그룹(-g 1004)

-G : 생성하는 계정의 추가등록 계정의 그룹명

-p : 생성하는 계정의 패스워드 지정

-s : 생성하는 계정의 로그인 쉘

-u : 생성하는 계정의 UID 지정(-u 1000)

 

# useradd 가 참조하는 파일 : ① /etc/default/useradd

[root@localhost ~]# cat /etc/default/useradd

[root@localhost ~]# useradd -D
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

# useradd 가 참조하는 파일 : ② /etc/login.defs

MAIL_DIR /var/spool/mail

PASS_MAX_DAYS 99999  // 패스워드를 변경하지 않고 지속적으로 사용할 수 있는 최대일자

PASS_MIN_DAYS 0  // 사용하고 있는 패스워드 변경없이 사용할 수 있는 최소일자

PASS_MIN_LEN 5   // 패스워드 최소길이

PASS_WARN_AGE 7

UID_MIN 500 // 새로 생성되는 사용자에게 할당할 수 있는 UID 시작번호

UID_MAX  60000 // 새로 생성되는 사용자에게 할당할 수 있는 최대 GID 번호

GID_MIN 500

GID_MAX 60000

CREATE_HOME yes // 홈디렉토리를 생성할 것인가 여부를 결정

 

# useradd 가 참조하는 파일 : ③ /etc/skel 내의 모든 파일

 

# /etc/passwd 파일에서 필요한 정보만 뽑아내기

[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt

계정명 : 패스워드 부분 : UID : GID : 코멘트 : 홈디렉토리 : 기본사용쉘

  $1           $2            $3    $4      $5        $6             $7

[root@localhost ~]# cat /etc/passwd | awk -F: '{print $1}'

[root@localhost ~]# cat /etc/passwd | awk -F: '{print $7}'

[root@localhost ~]# cat /etc/passwd | awk -F: '{print "계정명 : "$1"    "   "홈디렉토리 :"$6}'

[root@localhost ~]# cat /etc/passwd | awk -F: '{print "계정명 : "$1"    "   "홈 디렉토리 :"$6}'
계정명 : root    홈디렉토리 :/root
계정명 : bin    홈디렉토리 :/bin
계정명 : daemon    홈디렉토리 :/sbin
계정명 : adm    홈디렉토리 :/var/adm
계정명 : lp    홈디렉토리 :/var/spool/lpd

728x90
반응형