Linux 소유권 변경

LinuxBeginner
지금 연습하기

소개

Linux 시스템에서 파일 소유권은 보안 및 접근 제어의 중요한 측면입니다. 모든 파일과 디렉토리는 읽기, 쓰기 또는 실행 권한을 가진 사용자를 결정하는 소유자와 그룹 할당을 갖습니다. 파일 소유권을 관리하는 방법을 이해하는 것은 시스템 관리자와 Linux 사용자가 시스템 내에서 적절한 보안과 구성을 유지하는 데 필수적입니다.

이 랩에서는 chown 명령을 사용하여 Linux 에서 파일 소유권을 변경하고 관리하는 방법을 배우는 데 중점을 둡니다. 현재 소유권을 확인하고, 파일 소유자를 변경하며, 그룹 할당을 수정하고, 이러한 변경 사항을 디렉토리에 재귀적으로 적용하는 방법을 배우게 됩니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 97%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.

Linux 파일 소유권 이해

Linux 에서 모든 파일과 디렉토리는 소유자와 그룹 할당을 갖습니다. 이러한 소유권 속성은 Linux 권한 시스템의 기본 요소입니다.

현재 디렉토리 구조를 살펴보고 파일 소유권을 이해하는 것부터 시작해 보겠습니다.

cd ~/project
ls -l

출력 결과는 소유권 정보와 함께 파일 및 디렉토리 목록 (있는 경우) 을 표시해야 합니다. ls -l 출력에서 세 번째 열은 소유자를, 네 번째 열은 그룹을 보여줍니다.

이제 새 파일을 만들고 기본 소유권을 살펴보겠습니다.

touch data_file.txt
ls -l data_file.txt

다음과 유사한 출력을 볼 수 있습니다.

-rw-r--r-- 1 labex labex 0 Jan 1 12:00 data_file.txt

이는 data_file.txt 파일이 사용자 labex에 의해 소유되고 그룹 labex에 속함을 보여줍니다. 첫 번째 부분 (-rw-r--r--) 은 파일 권한을 보여줍니다.

현재 어떤 사용자로 로그인했는지 이해하려면 다음을 실행하십시오.

whoami

이 명령은 현재 사용자 이름 (username) 을 표시하며, 이는 labex여야 합니다. 이것은 새로 생성된 파일이 labex 사용자에 의해 소유되는 이유를 설명합니다.

chown 명령어를 사용하여 파일 소유권 변경

chown 명령은 파일 또는 디렉토리의 소유자를 변경하는 데 사용됩니다. 다른 사용자로 소유권을 변경하려면 root 권한 (sudo) 이 필요합니다.

먼저, 파일의 새 소유자로 사용할 새 사용자를 만들어 보겠습니다.

sudo adduser --disabled-password --gecos "" datauser

이 명령은 암호 없이 (랩 목적만) datauser라는 새 사용자를 생성합니다. --gecos "" 옵션은 사용자 정보에 대한 프롬프트를 건너뜁니다.

이제 data_file.txt의 소유권을 labex에서 datauser로 변경해 보겠습니다.

sudo chown datauser data_file.txt
ls -l data_file.txt

출력 결과는 이제 datauser를 소유자로 표시해야 합니다.

-rw-r--r-- 1 datauser labex 0 Jan 1 12:00 data_file.txt

chown 명령의 기본 구문은 다음과 같습니다.

chown [OPTIONS] USER[:GROUP] FILE(s)

여기서:

  • USER는 새 소유자의 사용자 이름입니다.
  • GROUP (선택 사항) 은 새 그룹 이름입니다.
  • FILE(s)는 소유권을 변경할 파일 또는 디렉토리입니다.

연습을 위해 다른 파일을 만들어 보겠습니다.

touch config_file.txt
sudo chown datauser config_file.txt
ls -l config_file.txt

소유권이 올바르게 변경되었는지 확인하십시오.

그룹 소유권 변경

Linux 에서 파일은 특정 그룹에도 속합니다. 그룹 할당은 해당 그룹 내의 사용자가 그룹 권한에 따라 파일로 수행할 수 있는 작업에 영향을 미칩니다.

새 그룹을 만들고 해당 그룹에 파일을 할당해 보겠습니다.

sudo groupadd datagroup
groups

groups 명령은 현재 사용자가 속한 그룹을 보여줍니다. 이제 현재 사용자를 새 그룹에 추가해 보겠습니다.

sudo usermod -a -G datagroup labex

이 명령은 사용자 labex를 그룹 (-G) datagroup에 추가 (-a) 합니다. 그룹 변경 사항이 적용되려면 일반적으로 로그아웃했다가 다시 로그인해야 합니다. 이 랩의 목적을 위해 로그아웃하지 않고 계속 진행하겠습니다.

이제 파일의 그룹 소유권을 변경해 보겠습니다.

sudo chown :datagroup data_file.txt
ls -l data_file.txt

출력 결과는 이제 다음과 같이 표시되어야 합니다.

-rw-r--r-- 1 datauser datagroup 0 Jan 1 12:00 data_file.txt

소유자를 변경하지 않고 그룹만 지정하기 위해 :datagroup을 사용했음을 알 수 있습니다. 또한 단일 명령으로 소유자와 그룹을 모두 변경할 수 있습니다.

sudo chown datauser:datagroup config_file.txt
ls -l config_file.txt

이렇게 하면 config_file.txt의 소유자와 그룹이 각각 datauserdatagroup으로 변경됩니다.

재귀적 소유권 변경

종종 디렉토리와 모든 내용을 소유권 변경해야 합니다. chown과 함께 -R (재귀적, recursive) 옵션을 사용하면 이 작업을 수행할 수 있습니다.

몇 개의 파일이 있는 디렉토리를 만들어 보겠습니다.

mkdir -p data_directory/subdirectory
touch data_directory/file1.txt
touch data_directory/file2.txt
touch data_directory/subdirectory/file3.txt

디렉토리와 그 내용의 현재 소유권을 살펴보겠습니다.

ls -l data_directory
ls -l data_directory/subdirectory

이제 디렉토리와 그 안에 있는 모든 항목의 소유권을 재귀적으로 변경해 보겠습니다.

sudo chown -R datauser:datagroup data_directory

결과를 확인합니다.

ls -l data_directory
ls -l data_directory/subdirectory

data_directory 내의 모든 파일과 디렉토리는 이제 datauser가 소유하고 datagroup 그룹에 속해야 합니다.

재귀적 옵션은 매우 강력하며 특히 시스템 디렉토리의 소유권을 변경할 때는 주의해서 사용해야 합니다. 잘못 사용하면 시스템 기능에 영향을 미칠 수 있습니다.

요약

이 랩에서는 시스템 관리 및 보안 관리에 필수적인 기술인 Linux 에서 파일 소유권을 관리하는 방법을 배웠습니다. 다음은 수행한 작업에 대한 요약입니다.

  1. Linux 에서 파일 소유권 개념과 현재 소유권 정보를 확인하는 방법을 배웠습니다.
  2. 새 사용자를 만들고 chown 명령을 사용하여 파일의 소유권을 변경했습니다.
  3. 그룹을 만들고 관리하는 방법과 파일의 그룹 소유권을 변경하는 방법을 배웠습니다.
  4. 디렉토리와 그 내용의 소유권을 재귀적으로 변경하는 방법을 살펴보았습니다.

이러한 기술은 Linux 시스템을 관리하는 데 기본이며, 특히 적절한 파일 권한과 소유권이 보안 및 운영 기능에 중요한 다중 사용자 환경에서 중요합니다.

소유권 변경에는 슈퍼유저 권한 (sudo 사용) 이 필요하며, 재귀적 변경은 의도하지 않은 결과를 방지하기 위해 특히 프로덕션 환경에서 주의해서 수행해야 합니다.