웹사이트 검색

파일 소유권을 변경하는 11가지 Linux Chown 명령 예


요약: 이 초보자 가이드에서는 chown 명령의 몇 가지 실제 예를 논의합니다. 이 가이드를 따르면 사용자는 Linux에서 파일 소유권을 효과적으로 관리할 수 있습니다.

Linux에서는 모든 것이 파일입니다. 즉, 파일, 디렉터리, 디스크 드라이브, 프린터 등과 같은 모든 입출력 리소스가 파일 시스템 네임스페이스를 통해 파일로 노출됩니다. 이 외에도 Linux의 모든 파일에는 소유권이 있습니다.

소유권은 사용자그룹이라는 두 개체로 표시됩니다. 액세스 권한과 소유권의 조합을 통해 Linux는 효과적인 방식으로 액세스 제어 메커니즘을 구현할 수 있습니다.

이 가이드에서는 chown 명령에 대해 알아봅니다. 이름에서 알 수 있듯이 chown 명령은 파일의 소유권을 변경하는 데 사용됩니다. 이 가이드를 따르면 초보자는 Linux 시스템에서 작업하는 동안 chown 명령을 효과적으로 사용할 수 있습니다.

chown 명령 구문

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

chown [OPTION]... [OWNER][:[GROUP]] [FILE-1] [FILE-2]...[FILE-N]

이제 Linux에서의 몇 가지 실제 예를 통해 chown 명령의 사용법을 이해해 보겠습니다.

1. 파일의 소유권을 찾는 방법

파일 소유자를 찾는 가장 쉬운 방법은 ls 명령을 사용하는 것입니다. 이 명령은 파일의 사용자 및 그룹을 나열합니다.

touch file-1.txt
ls -l file-1.txt 

위 출력에서 tecmint 사용자 및 그룹이 파일을 소유하고 있음을 알 수 있습니다. 이 정보는 각각 세 번째 및 네 번째 열로 표시됩니다.

2. 파일 소유권 변경 방법

chown 명령을 사용하면 파일의 소유권을 변경할 수 있습니다. narendra 사용자를 파일 소유자로 설정하여 사용법을 살펴보겠습니다.

sudo chown narendra file-1.txt

이제 파일의 소유권이 변경되었는지 확인해 보겠습니다.

ls -l file-1.txt 

3. 파일의 그룹 소유권을 변경하는 방법

사용자와 마찬가지로 chown 명령을 사용하여 파일의 그룹 소유권을 변경할 수도 있습니다. 이제 파일의 그룹 소유권을 narendra 그룹으로 설정해 보겠습니다.

sudo chown :narendra file-1.txt

그룹 소유권을 변경하는 동안 그룹 이름과 함께 콜론 (:)을 사용해야 한다는 점에 유의하는 것이 중요합니다.

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

ls -l file-1.txt

4. 파일의 소유권 및 그룹을 변경하는 방법

이전 예에서는 chown 명령을 두 번 사용했습니다. 먼저 사용자 소유권을 변경한 다음 그룹 소유권을 변경합니다. 그러나 단일 명령을 사용하여 사용자와 그룹을 모두 변경할 수 있습니다.

다음 명령을 사용하여 파일 소유권을 사용자 및 그룹 tecmint로 재설정해 보겠습니다.

sudo chown tecmint:tecmint file-1.txt

이 예에서는 콜론 (:) 문자를 사용하여 사용자와 그룹을 구분했습니다. 콜론 앞의 값은 사용자를 나타내고 콜론 뒤의 값은 그룹을 나타냅니다.

이제 업데이트된 파일 소유권을 확인해 보겠습니다.

ls -l file-1.txt 

5. 심볼릭 링크의 소유권을 변경하는 방법

기본적으로 chown 명령은 기호 링크를 역참조합니다. 즉, 입력 파일이 기호 링크인 경우 기호 링크 자체 대신 참조 파일의 소유권이 변경됩니다.

그러나 다음 예와 같이 -h 옵션을 사용하여 기본 동작을 재정의할 수 있습니다.

먼저 심볼릭 링크를 만들고 이것이 올바른 참조 파일을 가리키는지 확인합니다.

ln -s file-1.txt symlink
ls -l symlink 

다음으로 -h 옵션을 사용하여 심볼릭 링크의 소유권을 변경합니다.

sudo chown -h narendra:narendra symlink

마지막으로 심볼릭 링크와 해당 참조 파일의 소유권을 확인합니다.

ls -l symlink file-1.txt

6. 파일 소유권을 사용자에게 이전하는 방법

때로는 현재 소유권을 확인한 후에만 파일 소유권을 업데이트해야 하는 경우도 있습니다. 그러한 경우에는 표시된 대로 chown 명령의 --from 옵션을 사용할 수 있습니다.

sudo chown -h --from narendra:narendra tecmint:tecmint symlink

이 예에서 --from 옵션은 파일의 현재 소유자를 나타내고 다음 인수는 새 소유권을 나타냅니다. 따라서 위 명령은 파일이 사용자 및 그룹(narendra)이 소유한 경우에만 파일의 소유권(symlink)을 업데이트합니다.

이제 파일의 업데이트된 소유권을 확인해 보겠습니다.

ls -l symlink

이 예에서는 콜론 (:) 문자를 사용하여 사용자와 그룹을 모두 지정했습니다. 그러나 이전 예제에서 설명한 대로 둘 중 하나를 지정할 수 있습니다.

7. 다른 파일에서 소유권을 복사하는 방법

명령줄에서 소유권을 제공하는 대신 기존 파일에서 소유권을 복사하는 것이 편리한 경우도 있습니다. 이러한 시나리오에서는 소유권이 복사될 파일을 나타내는 chown 명령과 함께 --reference 옵션을 사용할 수 있습니다.

먼저 새 파일을 만들고 소유권을 변경합니다.

touch file-2.txt
sudo chown narendra:narendra file-2.txt

이제 두 파일의 현재 소유권을 확인해 보겠습니다.

ls -l file-1.txt file-2.txt 

다음으로, 다음 명령을 사용하여 file-2.txt 파일의 소유권을 file-1.txt와 동일하게 설정합니다.

sudo chown --reference=file-1.txt file-2.txt

마지막으로 소유권이 성공적으로 업데이트되었는지 확인합니다.

ls -l file-1.txt file-2.txt 

위 출력에서 이제 두 파일 모두 동일한 소유권을 갖고 있음을 알 수 있습니다.

8. 디렉터리 소유권을 재귀적으로 변경하는 방법

chown 명령을 사용하여 디렉토리의 소유권도 변경할 수 있습니다. 그러나 명령의 기본 동작은 비재귀적입니다.

이는 chown 명령이 입력 디렉토리의 소유권만 변경한다는 의미입니다. 그러나 다음 예와 같이 -R 옵션을 사용하여 이 기본 동작을 재정의할 수 있습니다.

먼저 디렉터리와 두 개의 파일을 만듭니다.

mkdir dir-1
touch dir-1/demo-1.txt dir-1/demo-2.txt

다음으로 디렉터리와 해당 파일의 소유권을 확인합니다.

ls -ld dir-1
ls -l dir-1

그런 다음 재귀적인 방식으로 디렉터리와 해당 파일의 소유권을 변경합니다.

sudo chown -R narendra:narendra dir-1

마지막으로 디렉터리와 해당 파일의 소유권을 확인합니다.

ls -ld dir-1
ls -l dir-1

9. Chown 명령 프로세스 세부 정보를 인쇄하는 방법

기본적으로 chown 명령은 소유권을 변경한 후 터미널에 아무 것도 인쇄하지 않습니다. 따라서 지금까지 우리는 ls 명령의 -l 옵션을 사용하여 업데이트된 소유권을 확인했습니다.

이러한 제한을 극복하기 위해 처리된 각 파일에 대한 진단을 인쇄하는 명령의 상세 모드를 활성화할 수 있습니다. 이 옵션을 -R 옵션과 함께 사용할 때 의미 있는 정보를 제공합니다.

이제 명령의 -v 옵션을 사용하여 상세 모드를 활성화해 보겠습니다.

sudo chown -Rv tecmint:tecmint dir-1

이제 명령의 출력을 확인해 보겠습니다.

10. Chown 명령 오류를 억제하는 방법

다른 Linux 명령과 마찬가지로 chown도 오류 시나리오의 경우 의미 있는 정보를 제공합니다. 존재하지 않는 파일, 그룹 또는 사용자, 특정 작업을 수행할 수 있는 권한 부족 등 다양한 이유로 인해 오류가 발생할 수 있습니다.

그러나 때로는 이러한 오류 메시지를 표시하고 싶지 않은 경우도 있습니다. 이러한 경우 명령의 -f 옵션을 사용하여 오류 메시지를 표시하지 않을 수 있습니다.

이를 더 잘 이해하기 위해 존재하지 않는 파일의 소유권을 변경해 보겠습니다.

sudo chown -f narendra:narendra non-existing-file.txt
echo $?
1

이제 명령의 출력을 살펴보겠습니다.

보시다시피 위 명령은 오류를 표시하지 않습니다. 그러나 이 명령은 0이 아닌 반환 값을 사용하여 실패를 보고합니다.

11. 파일 사용자 및 그룹 ID 변경 방법

지금까지는 사용자 및 그룹 이름을 사용하여 파일 소유권을 변경했습니다. 그러나 사용자 및 그룹 ID를 사용하여 동일한 결과를 얻을 수도 있습니다.

먼저 id 명령을 사용하여 사용자 및 사용자의 그룹 ID(narendra)를 찾습니다.

id narendra

이제 chown 명령과 함께 사용자 및 그룹 ID 1001을 사용해 보겠습니다.

ls -l file-1.txt
sudo chown 1001:1001 file-1.txt

마지막으로 소유권이 성공적으로 업데이트되었는지 확인합니다.

ls -l file-1.txt

이 기사에서는 chown 명령의 몇 가지 실제 예를 논의했습니다. 일상 생활에서 이러한 예제를 사용하여 Linux 시스템으로 작업하는 동안 생산성을 높일 수 있습니다.

Linux의 chown 명령에 대한 다른 최고의 예를 알고 계십니까? 아래 댓글로 여러분의 의견을 알려주세요.