본문 바로가기
리눅스

리눅스 파일 관리를 위한 사용자 관리와 파일 속성

by 햇병아리엔지니어 2022. 1. 28.
반응형

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의 약자입니다.

 

반응형

댓글