지식 Profitserver 서비스를 사용하기 위한 간단한 지침
본관 지식 Linux 사용자: 관리 및 권한

Linux 사용자: 관리 및 권한


이 글에서는 적절하게 구성된 Linux 사용자의 중요성을 살펴보겠습니다. 사용자를 만들고 구성하는 방법부터 시작하여 특정 파일과 폴더에 대한 액세스 권한을 부여하는 방법까지 액세스 권한을 설명합니다. 또한 sudo 및 SELinux와 같이 시스템을 원치 않는 활동으로부터 보호하는 데 도움이 되는 몇 가지 중요한 보안 도구에 대해서도 논의합니다.

Linux에서 사용자 관리 및 액세스 권한의 중요성

리눅스 환경에서 사용자 관리와 접근 권한은 매우 중요한 역할을 합니다. 리눅스를 큰 아파트라고 상상해 보세요. 각 사용자는 세입자이고 각 파일은 방입니다. 사용자 관리는 각 세입자에게 고유한 열쇠를 할당하는 것과 같고, 접근 권한은 각 세입자가 자신의 방에서 할 수 있는 작업과 같습니다.

사용자가 생성되면 이름과 고유 식별자( UID ) 가 부여되는데 , 이는 마치 아파트 열쇠와 같습니다. 또한 사용자는 다른 세입자들과 함께 속할 수 있는 그룹에도 소속됩니다. 그룹 구성원 들이 공통된 권한을 공유하는 클럽과 같은 역할을 합니다.

파일 접근 권한은 소유자( 사용자 ), 그룹 , 기타의 세 가지 범주로 나뉩니다 . 각 사용자(키)는 각 범주에 대해 읽기, 쓰기, 실행에 대한 고유한 권한을 가질 수 있습니다. 예를 들어, 파일 소유자는 읽기 및 쓰기 권한을, 그룹은 읽기 권한만, 기타 사용자는 아무런 권한도 갖지 못할 수 있습니다.

리눅스 시스템에서 사용되는 sudoSELinux 같은 보안 정책은 특별한 주의를 기울일 필요가 있습니다 . sudo 는 일반 사용자가 관리자만 수행할 수 있는 특정 작업을 수행하기 위해 일시적으로 관리자(루트) 권한을 사용할 수 있도록 하는 특별한 명령어입니다. 이는 실수로 인한 오류나 관리자 권한의 오용을 방지하는 데 도움이 됩니다. sudo를 사용할 때는 일반적으로 사용자의 신원을 확인하기 위해 암호를 입력해야 합니다. 암호를 입력한 후에는 sudoers 파일 에 설정된 규칙에 따라 관리자(루트) 권한으로 명령을 실행할 수 있습니다.

SELinux 는 리눅스 운영체제의 보안을 강화하는 추가적인 보안 계층입니다. 시스템에서 사용할 수 있는 프로그램과 파일을 모니터링하고 접근을 제한하여 침입과 공격을 방지합니다. 이를 통해 해킹 시도나 악의적인 행위를 막아 서버 보안을 강화할 수 있습니다.

사용자 생성 및 관리

리눅스에서 사용자를 만드는 방법

리눅스 사용자는 일반적으로 `useradd` 명령어를 사용하여 생성합니다 . 예를 들어, "username"이라는 사용자를 생성하려면 다음과 같이 입력합니다.

useradd username

Linux 사용자 비밀번호를 설정하는 방법

사용자를 생성한 후에는 해당 계정에 암호가 설정되어 있지 않습니다. 새 사용자의 암호를 설정하려면 `passwd` 명령어를 사용하십시오.

passwd username

여기서 username은 비밀번호가 설정되는 사용자의 이름입니다.

Linux에서 사용자 목록을 보는 방법

리눅스에서 터미널 명령어 하나로 사용자 목록을 보려면 ` cut` 명령어를 사용하면 됩니다.

cut -d: -f1 /etc/passwd

이 명령은 모든 사용자에 대한 정보가 포함된 /etc/passwd 파일 의 내용을 읽습니다 .

특정 사용자에 대한 정보를 얻으려면 다음 명령을 사용할 수 있습니다.

id username

이렇게 하면 사용자의 UID , GID그룹이 표시됩니다.

Linux 사용자 삭제

사용자를 삭제하려면 userdel 명령어를 사용하십시오.

userdel username

하지만 이 명령은 사용자의 홈 디렉터리에 있는 파일을 삭제하지 않습니다. 파일을 삭제하려면 -r 옵션을 사용하십시오.

userdel -r username

이렇게 하면 사용자 이름과 홈 디렉토리, 그리고 그 안의 모든 파일이 삭제됩니다.

Linux 사용자 수정

사용자 정보를 수정하려면 usermod 명령어를 사용하십시오. 이 도구는 다음 구문을 사용합니다.

usermod argument user

가능한 인수의 전체 목록은 유틸리티 도움말에 표시됩니다.

Linux 사용자 관리 유틸리티 도움말

예를 들어, 사용자의 홈 디렉토리를 변경하려면 다음 명령을 사용합니다.

usermod -d /new/path/to/directory username

Linux에서 사용자 그룹 만들기 및 관리

Linux의 사용자 그룹을 사용하면 관리자가 유사한 액세스 권한을 가진 사용자를 그룹화할 수 있습니다. 이를 통해 액세스 권한 관리가 용이해지고 각 사용자에 대해 개별적으로 설정하는 대신 그룹 수준에서 권한을 설정할 수 있으므로 시스템 보안이 향상됩니다. 예를 들어, 사용자 admin이 있는 개발자 그룹을 고려해 보겠습니다.

Linux에서 사용자 그룹을 만드는 방법

새 그룹을 만들려면 groupadd 명령과 새 그룹 이름을 사용하십시오.

sudo groupadd group_name

예를 들어, 명령은 다음과 같습니다.

sudo groupadd developers

Linux에서 사용자 그룹을 삭제하는 방법

그룹을 삭제하려면 groupdel 명령을 사용하십시오.

sudo groupdel group_name

따라서 명령은 다음과 같습니다.

sudo groupdel developers

developers 라는 이름의 그룹을 삭제하겠습니다.

그룹에 사용자 추가

사용자를 특정 그룹에 추가하려면 usermod 명령어를 사용하십시오.

sudo usermod -aG group_name user_name

예 :

sudo usermod -aG developers admin

이 명령은 admin 이라는 사용자를 개발자 그룹 에 추가합니다.

그룹에서 사용자 제거

사용자를 그룹에서 제거하려면 deluser 명령을 사용하십시오.

sudo deluser user_name group_name

관리자 사용자를 개발자 그룹 에서 제거하는 명령어는 다음과 같습니다.

sudo deluser admin developers

Linux에서 그룹 목록 보기

시스템에 있는 모든 그룹 목록을 보려면 `/etc/group` 파일 과 함께 `cat` 명령을 사용하십시오.

cat /etc/group

이 명령은 시스템에 있는 모든 그룹 목록을 표시합니다.

사용자 그룹 멤버십 확인

작업을 수행한 후 groups 명령을 사용하여 사용자가 속한 그룹을 확인할 수 있습니다.

groups user_name

따라서 Linux에서 사용자 그룹을 관리하는 기본 사항을 살펴보았습니다. 이제 다음 단계로 넘어가 파일 및 디렉터리에 대한 액세스 권한 할당을 살펴보겠습니다. 이 프로세스를 통해 사용자 또는 그룹이 특정 파일 및 디렉터리와 관련하여 수행할 수 있는 작업을 결정하여 효과적인 보안 관리와 시스템 리소스에 대한 액세스를 보장할 수 있습니다.

파일 및 디렉토리에 대한 액세스 권한 할당

접근 권한의 상징적 표현

앞서 살펴본 바와 같이 Linux에는 소유자( 사용자 ), 그룹 , 기타 의 세 가지 사용자 범주가 있습니다 . 각 사용자는 파일이나 디렉터리에 대한 특정 접근 권한 그룹을 가질 수 있습니다.

  1. 읽기(Read - r): 파일이나 디렉토리의 내용을 볼 수 있습니다.
  2. 쓰기(Write - w): 디렉토리 내에서 파일을 수정하거나 새 파일을 만드는 기능을 제공합니다. 디렉토리의 경우, 디렉토리에서 파일을 삭제할 수도 있습니다.
  3. 실행(Execute - x): 파일을 실행(실행 파일인 경우)하거나 디렉토리로 이동(디렉토리인 경우)할 수 있습니다.

Linux 계열 시스템에서 액세스 권한은 10자 문자열로 표현됩니다. 첫 번째 문자는 파일 유형(일반 파일, 디렉토리 등)을 나타내고 나머지 XNUMX자는 각 사용자 그룹에 대한 XNUMX개 문자의 XNUMX개 그룹입니다. 이해를 위해 예를 들어 보겠습니다.

접근 권한 -rwxr-xr-- 은 다음을 의미합니다.

  1. 첫 번째 문자(-)는 파일 유형(이 경우 일반 파일)을 나타냅니다.
  2. 소유자를 나타내는 세 개의 문자(rwx)는 소유자가 읽기, 쓰기, 실행 권한을 가지고 있음을 나타냅니다.
  3. 그룹(rx)에 대한 세 개의 문자는 그룹 멤버가 읽기 및 실행 권한만 가지고 있음을 나타냅니다.
  4. 다른 사용자를 위한 세 글자(r--)는 다른 사용자가 파일을 읽을 수만 있음을 의미합니다.

접근 권한은 chmod 명령어를 사용하여 설정하며 , 구문은 다음과 같습니다.

chmod [options] mode file(s)

어디에:

  1. [옵션] - 디렉토리 및 하위 디렉토리의 액세스 권한을 재귀적으로 변경하기 위한 -R과 같은 추가 매개변수.
  2. 모드 - 어떤 액세스 권한이 누구를 위해 변경되는지 지정하는 특수 문자열입니다. 모드는 기호(r, w, x)와 비트(0 또는 1)로 지정할 수 있습니다. 모드의 숫자 값도 사용할 수 있습니다(나중에 설명하겠습니다)
  3. 파일 - 변경 사항이 적용되는 파일 또는 디렉토리입니다.

이 유틸리티는 매우 강력한 도구이므로 몇 가지 기본 명령만 예시로 살펴보겠습니다.

소유자에게 읽기 및 쓰기 권한이 있고, 그룹에는 읽기 권한만 있고, 다른 사용자에게는 권한이 없도록 파일의 액세스 권한을 변경합니다.

chmod u=rw,g=r,o= filename

모든 사용자에게 파일을 읽고 쓸 수 있는 액세스 권한을 설정합니다.

chmod a+rw filename

디렉토리의 모든 파일과 하위 디렉토리에 대한 액세스 권한을 재귀적으로 변경합니다.

chmod -R u+rwx directory

접근 권한의 숫자 표현

숫자 표현에서 각 사용자 범주(소유자, 그룹, 기타)는 자체 번호를 가지며, 이러한 번호의 조합은 최종 액세스 권한을 설정합니다. 상징적 표현과 유사하게, 세 가지 권한 각각은 자체 값을 가지지만 숫자로 표현됩니다.

  1. 읽기(read) - 값 4
  2. 쓰기(write) - 값 2
  3. 실행(execute) - 값 1

숫자 값은 사용자 유형을 결정하는 데에도 사용됩니다.

  1. 파일 소유자(사용자) - 첫 번째 숫자
  2. 소유자 그룹(group) - 두 번째 숫자
  3. 다른 사용자(others) - 세 번째 숫자

따라서 파일 액세스 권한의 전체 숫자 표현은 세 자리 숫자로 구성되며, 각각은 특정 사용자 범주의 권한 값의 합을 나타냅니다. 이는 상징적 표현에서 10자를 사용하는 것보다 다소 편리합니다. 이 경우 관리가 다음과 같이 보일 것입니다.

chmod XYZ file

여기서 X , Y , Z 는 각각 소유자, 그룹 및 기타 사용자의 접근 권한을 나타내는 숫자입니다.

예를 들어 소유자에게 모든 액세스 권한(읽기, 쓰기, 실행)을 부여하고 그룹 및 다른 사용자에게는 읽기와 실행만 허용하려면 다음 명령을 사용할 수 있습니다.

chmod 755 file

다른 예를 살펴보겠습니다.

chmod 700 file

소유자만 읽기, 쓰기, 실행 권한을 갖고 있으며, 그룹과 다른 사용자는 액세스 권한이 없습니다.

chmod 644 file

소유자는 읽고 쓸 수 있는 권한을 가지지만, 그룹과 다른 사용자는 읽기 권한만 갖습니다.

chmod 751 file

소유자는 모든 권한을 가지고, 그룹은 읽기 및 실행 권한을 가지고, 다른 사용자는 실행 권한만 가지고 있습니다.

앞서 언급했듯이, 이 도구는 매우 광범위한 기능을 가지고 있습니다. 어떤 경우에는 "도움말" 섹션에서 제공되는 옵션이 충분하지 않습니다.

Linux에서 접근 권한을 관리하기 위한 도구

마지막 줄에 주의하세요. 이 명령어를 사용하면 해당 도구에 대한 자세한 설명서가 열립니다. 또한 , Chmod에 대한 자세한 정보를 찾을 수 있는 유틸리티의 공식 위키백과 페이지 도 방문해 보세요 .

맺음말

Linux 사용자와 그들의 관리가 OS의 보안과 안정적인 운영에 매우 중요합니다. 이 글에서는 Linux에서 효과적인 사용자 및 액세스 권한 관리의 중요성을 강조했습니다. 여기에는 사용자 생성 및 관리, 사용자 그룹 작업, 파일 및 디렉토리에 대한 액세스 권한 할당이 포함됩니다.

❮ 이전 기사 Linux에서 방화벽 구성
다음 기사 ❯ Linux 텍스트 편집기

VPS에 대해 문의하세요

저희는 언제든지 여러분의 질문에 답변할 준비가 되어 있습니다.