1. 사용자와 그룹
리눅스에서 파일 관리 시에 먼저 알아야 할 것은 파일의 속성입니다. 다중 사용자 시스템을 사용하는 리눅스에서의 사용자를 관리하는 방법에 대해 이야기해보겠습니다.
리눅스는 다중 사용자 시스템으로 1대의 리눅스를 통해 사용자 여러 명이 동시에 접속하여 사용할 수 있는 시스템입니다.
리눅스를 설치하면 기본적으로 root라는 슈퍼 유저가 있는데 root 사용자는 시스템의 모든 작업을 실행 할 수 있는 권한이 있으며 시스템에 접속할 수 있는 사용자를 생성할 수 있는 권한도 생깁니다.
리눅스에서는 모든 사용자는 혼자서 존재하는 것이 아니라서 사용자는 하나 이상의 그룹에 소속이 되어 있어야 합니다.
예를 들어 vi 에디터를 통해 /etc/passwd 파일을 오픈 시 아래와 같은 정보가 있습니다.
withelus:hello:1000:1000:withelus:/home/withelus:/bin/bash
이때 각 행의 의미를 알아보자면 사용자 이름:암호:사용자ID:사용자가 소속된 그룹 ID:전체 이름:홈 디렉터리:기본셀을 이야기합니다.
사용자 이름은 withelus이고 암호는 hello withelus의 사용자id와 속한 그룹의 id는 1000번입니다.
전체이름은 withelus를 사용하며 withelus의 사용자의 홈 디렉터리의 경로는 /home/withelus이고 로그인 시 제공되는 셸의 경로는 /bin/bash입니다.
2.사용자 및 그룹과 관련된 명령어
사용자 및 그룹과 관련된 명령어가 다양하게 있지만 중요한 명령어 위주로 적어보았습니다.
useradd(또는 adduser) : 새로운 사용자를 추가하는 명령어입니다.
이 명령을 실행하면 /etc/passwd, /etc/shadow, /etc/group 파일에 새로운 행이 추가됩니다.
# useradd hello : hello라는 이름의 사용자 생성합니다.
# useradd -u 1234 hello : hello 사용자를 생성하고 사용자 ID를 1234로 지정합니다.
# useradd -g mygroup hello : hello 사용자를 생성하면서 mygroup 그룹에 hello 사용자를 포함시킵니다.
passwd : 사용자의 비밀번호를 지정하거나 변경하는 명령어입니다.
# passwd hello : hello 사용자의 비밀번호 지정(또는 변경) 합니다.
usermod : 사용자의 속성을 변경하기 옵션은 useradd와 동일합니다.
# usermod -g root hello : hello 사용자의 그룹을 root 그룹으로 변경합니다.
userdel : 사용자 삭제 명령어입니다.
# userdel hello : hello 사용자 삭제
# userdel -r hello : hello 사용자를 삭제하면서 홈 디렉터리까지 삭제
chage : 사용자의 암호를 주기적으로 변경하도록 설정합니다.
# charge -1 hello : hello 사용자에 설정된 사항 확인합니다.
# charge -m 30 hello : hello 사용자에 설정한 암호를 사용할 수 있는 최대일자(변경 후 최대 30일까지 사용할 수 있습니다.)
groups : 사용자가 소속된 그룹을 보여줍니다.
# groups : 현재 사용자가 소속된 그룹을 보여줍니다.
# groups hello : hello가 소속된 그룹을 보여줍니다.
groupadd : 새로운 그룹을 생성합니다.
# groupadd hello : hello라는 그룹 생성합니다.
# groupadd -g 3333 new : new라는 그룹을 생성하면서 그룹 ID를 3333로 지정합니다.
groupmod : 그룹의 속성을 변경합니다.
# groupmod -n hello hi : hello 그룹의 이름을 hi으로 변경합니다.
groupdel : 그룹을 삭제합니다.
# groupdel new : new 그룹 삭제 (단, 해당 그룹을 주요 그룹으로 지정한 사용자가 없어야 합니다.)
gpasswd : 그룹의 암호를 설정하거나 그룹 관리를 수행합니다.
# gpasswd new : new 그룹의 암호 지정
3. 파일과 디렉터리의 소유권과 허가권
리눅스는 가각의 파일과 디렉터리마다 소유권 허가권이라는 속성이 있습니다. root 사용자가 자신의 홈 디렉터리에서 touch sample.txt 명령을 실행해 빈 파일 생성 후 ls -l 명령을 실행하면 다음과 같이 나타납니다.
- rw-r--r-- 1 root root 0 1월 28일 14:14 sample.txt
- : 파일 유형
rw-r--r-- : 파일 허가권
1 : 링크 수
root : 파일 소유자 이름
root : 파일 소유그룹 이름
0 : 파일 크기(Byte)
1월 28일 14:14 : 마지막 변경 날짜/시간
sample.txt : 파일 이름
파일 유형 : 파일이 어떤 종류인지 나타냅니다. 디렉터리인 경우 'd', 일반적인 파일인 경우 '-'가 표시됩니다.
그 외에 b(블록디바이스),c(문자 디바이스),l(링크) 등이 있다.
파일 허가권 : 파일 허가권은 rw-, r--,r-- 3개씩 끊어서 보면 됩니다. r은 read, w는 write, x는 excute의 약자입니다.
'리눅스' 카테고리의 다른 글
리눅스 문서 편집기 vi와 nano 명령어 (0) | 2022.09.15 |
---|---|
리눅스 디렉토리 파일관련 명령어와 절대경로 상대경로 (0) | 2022.09.14 |
CentOS 패키지 설치 시 사용하는 RPM과 DNF (0) | 2022.02.04 |
리눅스 vi 에디터의 기본 사용법과 기본 명령어 (0) | 2022.01.27 |
리눅스 운영에 필요한 개념과 사용법 (0) | 2022.01.27 |
댓글