[리눅스] 사용자 관리와 파일 속성

앙금빵·2021년 6월 6일
0

리눅스

목록 보기
3/13
post-thumbnail

사용자와 그룹

  • 리눅스는 다중 사용자 시스템(Multi-user System)
  • 기본적으로 root라는 이름을 가진 Super User 가 있다.
    [Root 사용자 권한]
    - 시스템의 모든 작업을 실행할 수 있는 권한
    - 시스템에 접속할 수 있는 사용자를 생성할 수 있는 권한

모든 사용자는 혼자서 존재하는 것이 아닌 하나 이상의 그룹에 소속되어 있어야 한다.
CentOS 기준 표준사용자를 알아보기 위해
cat /etc/passwd 명령어를 입력하자.

1행인 root:x:0:0:root:/root:/bin/bash 부터 tcpdump:x:72:72::/:/sbin/nologin 까지 root 사용자부터 tcpdump 사용자까지는 리눅스에서 기본적으로 존재하는 표준 사용자이다.

root:x:0:0:root:/root:/bin/bash 의미를 파악해보자

사용자 이름:암호:사용자 ID:사용자가 소속된 그룹 ID:전체 이름:홈 디렉토리:기본 셸

사용자 이름 : root
암호 : x ← etc/shadow 파일에 비밀번호가 지정되어 있다는 의미
사용자 ID : 0
사용자가 소속된 그룹 ID: 0
전체이름: root
홈 디렉토리: /root
기본 셸: /bin/bash

bash 란?

리눅스의 표준 Shell, 1989년 브라이언 폭스가 GNU 프로젝트를 위해 개발한 bash shell은 sh shell 기반으로 만들어졌다. bash는 korn Shell과는 다르게 공짜였으며 급속히 전파되었다.x

bash 특징

  • Alias 기능(명령어 단축 기능)
  • History 기능 (↑ or ↓)
  • 연산 기능
  • Job Control 기능
  • 자동 이름 완성 기능 (tab)
  • 프롬프트 제어 기능
  • 명령 편집 기능 etc...

관련 명령어

useradd (= adduser)

  • 새로운 사용자를 추가해 준다.
  • 해당 명령을 실행하면 /etc/passwd, /etc/shadow, /etc/group 파일에 새로운 행이 추가됨.
# useradd newuser			→ newuser라는 이름 사용자 생성
# useradd -u 1111 newuser		→ newuser 사용자 생성 & 사용자 ID 1111 지정
# useradd -g mygroup newuser		→ newuser 사용자 생성 & mygroup 에 newuser사용자를 포함
# useradd -d /newhome newuser		→ newuser 사용자를 생성하면서 홈 디렉토리를 /newhome으로 지정	
# useradd -s /bin/csh newuser		→ newuser 사용자를 생성하면서 기본 shell을 /bin/csh로 지정

passwd

  • 사용자의 비밀번호를 지정하거나 변경한다.
# passwd new user 	→ newuser 사용자의 비밀번호 지정(또는 변경) 

usermod

  • 사용자의 속성을 변경한다. 옵션은 useradd와 동일하다.
# usermod -g root newuser → newuser 사용자의 그룹을 root 그룹으로 변경

userdel

  • 사용자를 삭제한다.
    # userdel newuser → newuser 사용자 삭제

chage

  • 사용자의 암호를 주기적으로 변경하도록 설정
# chage -l newuser → newuser 사용자에 설정된 사항 확인
# chage -m 2 newuser → newuser 사용자에 설정한 암호를 사용해야 하는 최소 일자.
(i.e 최소 2일을 사용해야 함)
# chage -M 30 newuser → newuser 사용자에 설정한 암호를 사용할 수 있는 최대 일자
(i.e 변경 후 최대 30일 까지 사용할 수 있음)
# chage -E 2026/12/12 newuser → newuser 사용자에 설정한 암호가 만료되는 날짜
(i.e 2026/12/12 까지만 사용할 수 있음)
# chage -W 10 newuser → newuser 사용자에 설정한 암호가 만료되기 전에 경고하는 기간. 지정하지 않을 경우 기본값은 7일
(i.e 이와 같이 설정하면 암호가 만료되기 10일 전부터 경고 메시지가 나감)

groups

  • 사용자가 소속된 그룹을 보여준다.
# groups → 현재 사용자가 소속된 그룹을 보여줌
# groups newuser → newuser가 소속된 그룹을 보여줌

groupadd

  • 새로운 그룹을 생성한다.
# groupadd newgroup → newgroup이라는 그룹 생성
# groupadd -g 2222 newgroup → newgroup이라는 그룹을 생성하면서 그룹 ID를 2222로 지정

groupmod

  • 그룹의 속성을 변경한다. (mod = modify = 수정하다, 변경하다)
# groupmod -n mygroup newgroup → newgroup 그룹의 이름을 mygroup으로 변경
※ '-n '은 name의 약자 ※

groupdel

  • 그룹을 삭제한다.
# groupdel newgroup → newgroup 그룹 삭제 (단, 해당 그룹을 주요 그룹으로 지정한 사람이 없어야 한다.)

gpasswd

  • 그룹의 암호를 설정하거나 그룹 관리를 수행한다.
# gpasswd newgroup → newgroup 그룹의 암호 지정
# gpasswd -A newuser newgroup → newuser 사용자를 newgroup 그룹의 관리자로 지정
('-A' = Administration)
# gpasswd -a user1 newgroup → user1을 newgroup 그룹의 사용자로 추가
('-a' = add)
# gpasswd -d user newgroup → user1을 newgroup 그룹의 사용자에서 제거
('-d' = delete)

참조

profile
Cloud 관련 개인 공부 지식들을 기록하는 공간입니다.

0개의 댓글