웹사이트 검색

초보자를 위한 Linux Chown 명령 자습서(예제 12개)


이 페이지에서

  1. Linux chown 명령 설명
  2. Q1. 파일 소유자를 변경하는 방법은 무엇입니까?\n
  3. Q2. 파일 그룹을 변경하는 방법은 무엇입니까?\n
  4. Q3. 파일의 소유자와 그룹을 모두 변경하는 방법은 무엇입니까?\n
  5. Q4. 기존 소유자/그룹을 확인한 후 소유자 또는 그룹(또는 둘 다)을 변경하는 방법은 무엇입니까?\n
  6. Q5. 참조 파일에서 소유자/그룹 정보를 선택하는 방법은 무엇입니까?\n
  7. Q6. chown이 파일 및 디렉토리에서 재귀적으로 작동하도록 만드는 방법은 무엇입니까?\n
  8. Q7. chown이 오류 메시지를 표시하지 않게 하려면 어떻게 해야 하나요?\n
  9. Q8. 그룹 소유권을 지정된 사용자의 로그인 그룹으로 변경하는 방법은 무엇입니까?\n
  10. Q9. chown은 심볼릭 링크와 어떻게 작동합니까?\n
  11. Q10. 디렉토리의 소유자 및 그룹을 변경하는 방법은 무엇입니까?\n
  12. Q11. 사용자 및 그룹 이름 대신 UID 및 GID를 사용할 수 있습니까?\n
  13. Q12. chown이 출력 작업의 세부 정보를 표시하는 방법은 무엇입니까?\n
  14. 결론

Linux에서는 파일이나 디렉터리에 대한 소유자 및 그룹 관련 정보를 변경하려는 경우가 있을 수 있습니다. 명령줄 초보자이고 명령줄을 통해 이러한 변경을 수행하는 방법을 알고 싶다면 이를 수행할 수 있는 chown이라는 명령이 있다는 사실에 기뻐할 것입니다.

chown 명령 자습서를 시작하기 전에 여기에 언급된 모든 예제와 지침은 Ubuntu 22.04 LTS 및 Debian 11에서 테스트되었음을 언급할 가치가 있습니다.

리눅스 chown 명령 설명

처음에 이미 언급했듯이 chown 명령을 사용하면 명령줄을 통해 파일 소유자와 그룹을 변경할 수 있습니다. 다음은 명령 일반 구문입니다.

chown [OPTION]... [OWNER][:[GROUP]] FILE...

다음은 도구 설명서 페이지에 설명된 내용입니다.

If only  an  owner  (a user  name or numeric user ID) is given, that user is made the owner of each
given file, and the files' group is not changed.  If the owner  is followed  by  a  colon  and a
group name (or numeric group ID), with no spaces between them, the group ownership of the  files  is
changed  as well.  If a colon but no group name follows the user name, that user is made the owner
of the files and the group of the files  is  changed  to that  user's  login  group. If the colon
and group are given, but the owner is omitted, only the group of the files is changed; in this case,
chown  performs  the same function as chgrp.  If only a colon is given, or if the entire operand is
empty, neither the owner nor the  group  is changed.

다음 Q&A 유형의 예는 chown 명령의 작동 방식에 대한 좋은 아이디어를 제공합니다.

Q1. 파일 소유자를 변경하는 방법은 무엇입니까?

다음 예를 고려하십시오.

여기서 파일의 소유자는 히만슈이고, 파일이 속한 그룹도 히만슈이다. 이제 소유자를 루트로 변경하려면 다음 명령을 사용하십시오.

chown root file1

다음 스크린샷은 소유자가 이제 루트로 변경되었음을 확인합니다.

Q2. 파일 그룹을 변경하는 방법은 무엇입니까?

그룹 변경은 소유자 변경과 유사합니다. 유일한 차이점은 다음과 같은 명령 구문에 있습니다.

chown :[group-name] [file-name]

따라서 요구 사항이 file1 그룹을 루트로 변경하는 것이라고 가정합니다. 그러면 명령은 다음과 같습니다.

chown :root file1

다음 스크린샷은 그룹이 히만슈에서 루트로 성공적으로 변경되었음을 보여줍니다.

참고: sudo 명령이 사용된 이유가 궁금하거나 sudo를 처음 사용하는 경우 먼저 이 도구에 대한 자습서를 살펴봐야 합니다.

Q3. 파일의 소유자와 그룹을 모두 변경하는 방법은 무엇입니까?

파일의 소유자와 그룹을 모두 변경하려면 다음 구문을 사용하십시오.

chown [new-owner]:[new-group] [file-name]

따라서 우리의 경우 기존 소유자와 그룹을 루트에서 himanshu로 변경하려면 다음 명령을 사용하십시오.

chown himanshu:himanshu file1

다음 스크린샷은 위의 명령이 실행되는 모습을 보여줍니다.

Q4. 기존 소유자/그룹을 확인한 후 소유자 또는 그룹(또는 둘 다)을 변경하는 방법은 무엇입니까?

변경하기 전에 파일의 기존 소유자/그룹을 먼저 교차 확인해야 하는 상황이 있을 수 있습니다. 따라서 이러한 경우 --from 명령줄 옵션을 사용할 수 있습니다. 이 옵션을 사용하려면 확인하려는 소유자/그룹 이름을 언급해야 합니다.

chown --from=[curr-own]:[curr-group] [new-owner]:[new-group] [filename]

예를 들어:

chown --from=root:himanshu himanshu:root file1

위의 명령은 기존 소유자가 루트이고 그룹이 히만슈인지 확인합니다. 그렇다면 소유자는 히만슈로 변경되고 그룹은 루트가 됩니다.

Q5. 참조 파일에서 소유자/그룹 정보를 선택하는 방법은 무엇입니까?

또한 chown이 명령줄에 수동으로 입력하는 대신 파일에서 소유자 및 그룹 관련 정보를 선택하도록 할 수 있는 상황이 있을 수 있습니다. 이러한 경우 --reference 명령줄 옵션을 사용할 수 있습니다. 이 옵션을 사용하려면 참조 파일의 이름을 입력해야 합니다.

chown --reference=[ref-file-name] [filename]

예를 들어:

chown --reference=file2 file1

따라서 위의 명령은 file2에서 file1로 소유자 및 그룹 정보를 복사합니다.

Q6. chown이 파일 및 디렉토리에서 재귀적으로 작동하도록 만드는 방법은 무엇입니까?

chown 명령이 파일 및 디렉터리에서 재귀적으로 작동하도록 하려면 -R 명령줄 옵션을 사용합니다.

chown -R [new-owner]:[new-group] [directory-name-or-path]

알지 못하는 사람들을 위해 재귀는 지정된 디렉토리의 모든 파일과 모든 하위 디렉토리 내의 파일 및 디렉토리에 대해 작업이 수행됨을 의미합니다.

Q7. chown이 오류 메시지를 표시하지 않게 하려면 어떻게 해야 하나요?

실행한 chown 명령에서 오류가 발생하는 경우가 있을 수 있습니다. 예를 들어 내 시스템에서 실행될 때 다음 명령은 다음과 같습니다.

chown --from=himanshu:himanshu himanshu:root file4

다음 오류가 발생했습니다.

chown: cannot access 'file4': No such file or directory

이제 도구가 그러한 오류를 표시하지 않아야 한다는 요구 사항이 있다고 가정합니다. 그런 다음 -f 명령줄 옵션을 사용하여 이를 가능하게 할 수 있습니다.

앞서 언급한 스크린샷은 -f 명령줄 옵션이 오류/경고를 억제함을 확인합니다.

Q8. 그룹 소유권을 지정된 사용자의 로그인 그룹으로 변경하는 방법은 무엇입니까?

이는 [user/owner]: 구문을 사용하여 수행할 수 있습니다. 예를 들어, 다음 명령:

chown himanshu: file1

소유권이 himanshu에게 부여되고 그룹이 himanshu의 로그인 그룹으로 변경되는지 확인합니다. 이것은 콜론(:)이 사용되지 않는 경우와 다르며, 이 경우(위의 Q1에서 설명됨) 그룹은 변경되지 않습니다.

여기서 언급할 가치가 있는 또 다른 사항은 소유자나 그룹을 지정하지 않고 콜론(:)만 사용하면 변경이 발생하지 않는다는 것입니다. 예를 들어:

chown : file1

이 명령은 파일의 사용자 또는 그룹 소유권에 영향을 주지 않습니다.

Q9. chown은 심볼릭 링크와 어떻게 작동합니까?

기본적으로 심볼릭 링크의 사용자 및 그룹 소유권을 변경하려고 하면 변경 사항이 없습니다. 대신 링크된 파일에 이러한 변경 사항이 적용됩니다.

예를 들어 아래 스크린샷은 사용자 및 그룹 소유권이 himanshu로 설정된 심볼릭 링크 link1을 생성한 것을 보여줍니다. 그런 다음 chown 명령을 실행하여 사용자와 그룹을 루트로 변경했습니다. 그러나 이 명령은 심볼릭 링크 파일에 영향을 미치지 않았습니다. 대신 사용자 및 그룹 소유권이 변경된 파일1(심볼릭 링크가 가리키는 파일)에 영향을 미쳤습니다.

그러나 원하는 경우 -h 옵션을 사용하여 이 기본 동작을 재정의할 수 있습니다.

Q10. 디렉토리의 소유자 및 그룹을 변경하는 방법은 무엇입니까?

파일에 대해 수행하는 방식과 같습니다. 다음은 예입니다.

chown root:root ./test-dir/

stat 명령을 사용하여 디렉터리의 소유자 및 그룹 변경을 교차 확인할 수 있습니다. 출력의 UID 및 GID 필드는 사용자 및 그룹 이름을 표시합니다.

예를 들어 제 경우에는 출력에 변경된 사용자 그룹 소유권이 명확하게 표시되었습니다.

  File: test-dir
  Size: 4096          Blocks: 8          IO Block: 4096   directory
Device: 808h/2056d    Inode: 11928001    Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-08-07 10:31:04.867467573 +0530
Modify: 2018-08-07 10:30:53.651807123 +0530
Change: 2018-08-07 10:32:49.644427930 +0530
 Birth: -

재귀적으로 변경하고(-R 옵션에 대한 Q&A 참조) 심볼릭 링크를 처리하는 경우 다음 옵션을 마음대로 사용할 수 있습니다.

       The following options modify how a hierarchy is traversed when  the  -R
       option  is  also  specified.   If  more than one is specified, only the
       final one takes effect.

       -H     if a command line argument is a symbolic link  to  a  directory,
              traverse it

       -L     traverse every symbolic link to a directory encountered

       -P     do not traverse any symbolic links (default)

Q11. 사용자 및 그룹 이름 대신 UID 및 GID를 사용할 수 있습니까?

예, 이름 대신 사용자 ID와 그룹 ID를 사용할 수 있습니다. 명령 구문은 동일하게 유지됩니다.

예를 들어:

chown 1000:1000 file1

위의 명령은 사용자 및 그룹 소유권을 UID 1000의 사용자와 GID 1000의 그룹으로 변경합니다.

Q12. chown이 출력 작업의 세부 정보를 표시하는 방법은 무엇입니까?

chown 명령이 수행하는 작업의 세부 정보를 표시하려면 -v 명령줄 옵션을 사용하십시오.

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

sudo chown howtoforge:howtoforge link1 -v

다음 출력을 생성합니다.

changed ownership of 'link1' from root:root to howtoforge:howtoforge

이제 -v처럼 작동하는 또 다른 옵션 -c가 있습니다. 변경 사항이 없을 때 세부 정보를 표시하지 않습니다.

결론

대부분의 사용자가 동의하는 것처럼 chown 명령은 사용하기 어렵지 않습니다. 더 좋은 점은 cd 명령입니다. 의심이나 질문이 있는 경우 아래에 의견을 남겨주십시오.