Linux에서 chown 명령을 사용하는 방법

Linux 시스템의 파일과 디렉토리는 모두 누군가의 소유입니다. chown 명령으로 소유권을 변경할 수 있습니다. 우리는 방법을 보여줍니다.

각 파일은 사용자 및 그룹에 속합니다.

Linux는 다중 사용자 시스템입니다. 운영 체제에서는 여러 사용자 계정을 정의하고 모든 유효한 사용자가 컴퓨터에 로그온할 수 있도록 합니다. 또한 여러 사용자가 동시에 하나의 컴퓨터를 사용할 수 있습니다.

어떤 파일이 어떤 사용자에게 속하는지 기록을 유지하고 일부 보안을 강화하기 위해 Linux는 소유권 개념을 사용합니다. 모든 파일은 소유자(사용자)와 그룹에 속합니다.

파일을 만들 때 소유자는 파일을 만든 사용자입니다. 파일이 속한 그룹(“소유” 그룹)은 사용자의 현재 그룹입니다. 사용자 및 그룹에는 이름이 있으며 사용자(또는 고유) 식별자(UID) 및 그룹 식별자(GID)라고 하는 숫자 ID도 있습니다.

파일을 생성할 때 파일은 사용자 소유이며 현재 그룹에 속합니다. 일반적으로 로그인한 그룹입니다. 기본적으로 이것은 사용자 이름과 동일한 이름을 공유하고 시스템에서 사용자로 생성될 때 생성된 그룹입니다.

chown 명령을 사용하여 소유권 값을 다른 것으로 변경할 수 있습니다. 새 소유자, 새 그룹 또는 새 소유자와 새 그룹을 동시에 설정할 수 있습니다. 파일 소유자는 그룹 소유권을 변경할 수 있지만 다른 사용자가 포함되기 때문에 루트만 사용자 소유권을 변경할 수 있습니다. 루트 권한이 없으면 시스템의 다른 사용자가 무의식적으로 파일을 “채택”하게 할 수 없습니다.

소유권을 변경하려는 이유는 무엇입니까?

다음은 이 작업을 수행할 수 있는 몇 가지 상황의 예입니다.

다른 Linux 또는 Unix 계열 운영 체제 간에 파일을 전송하는 경우 새 Linux 컴퓨터에서 파일을 사용하려는 계정의 사용자 및 그룹 소유자를 새 사용자 및 그룹 소유자로 변경해야 합니다.
사용자가 조직을 떠날 수 있으며 그의 모든 파일은 다른 직원의 책임입니다. 소유자 및 그룹 소유자를 이제 해당 파일을 담당하는 직원으로 변경해야 합니다.
특정 사용자가 사용할 스크립트를 작성할 수 있습니다.
루트로 로그인한 파일이나 디렉토리를 만들 수 있지만 특정 사용자가 액세스할 수 있기를 원합니다.

  Gnome Shell에서 앱 폴더를 만드는 방법

그룹, UID 및 GID 보기

에게 그룹 나열 당신은 그룹 명령을 사용할 수 있습니다.

groups

그룹 목록, 해당 숫자 ID, 귀하의 UID 및 GID, id 명령을 사용합니다.

id

ID와 함께 일부 옵션을 사용하여 출력을 구체화할 수 있습니다.

-u: UID를 나열합니다.
-g: 유효(현재) GID를 나열합니다.
-nu: 사용자 이름을 나열합니다.
-ng: 현재 그룹 이름을 나열합니다.

id -u
id -g
id -nu
id -ng

파일의 사용자 및 그룹 소유권 보기

파일 또는 디렉토리의 소유자를 보려면 ls와 함께 -l(긴 목록) 옵션을 사용하십시오.

ls -l

dave라는 이름이 목록에 두 번 나타나는 것을 볼 수 있습니다. 가장 왼쪽 모양은 파일 소유자가 dave라는 사용자임을 알려줍니다. 가장 오른쪽에 있는 dave는 파일이 dave라고도 하는 그룹에 속해 있음을 알려줍니다.

기본적으로 Linux 사용자가 생성되면 사용자 이름으로 명명된 비공개 그룹에 추가됩니다. 그들은 그 그룹의 유일한 구성원입니다.

이 실행 파일은 사용자 mary가 소유하고 파일이 속한 그룹은 mary의 개인 그룹입니다.

ls -l

이 파일은 사용자 oscar가 소유하지만 파일이 속한 그룹을 researchlab이라고 합니다. 이는 연구실 그룹의 다른 구성원이 해당 그룹 구성원에 대해 설정된 파일 권한에 따라 이 파일에 액세스할 수 있음을 의미합니다.

사용자 소유권 변경

몇 가지 예를 살펴보겠습니다. 이 명령은 while.c 파일의 사용자 소유권을 사용자 mary로 변경합니다.

sudo chown mary while.c

ls를 사용하여 파일 속성의 변경 사항을 볼 수 있습니다.

ls -l while.c

chown을 사용하여 한 번에 여러 파일의 소유권을 변경할 수 있습니다.

sudo chown mary getval.c global.c goto.c

이렇게 하면 세 파일 모두의 사용자 소유권이 변경됩니다.

ls -l getval.c global.c goto.c

와일드카드를 사용하여 파일 그룹을 선택할 수 있습니다. 이 명령은 문자 “c”로 시작하는 모든 파일의 사용자 소유권을 변경합니다.

sudo chown mary c*.*

이제 모든 파일의 소유자는 mary입니다. 그룹 소유권은 변경되지 않았습니다.

ls -l mary c*.*

디렉토리의 소유권을 변경해 보겠습니다. 파일 이름 대신 chown에 디렉토리 이름을 전달하기만 하면 됩니다.

sudo chown mary ./archive/

디렉토리의 소유권 속성을 확인하기 위해 ls를 사용하지만 -d(디렉토리) 옵션도 사용합니다. 이것은 그 안에 있는 파일이 아니라 디렉토리의 속성을 나열합니다.

ls -l -d ./archive/

디렉토리에 있는 모든 파일의 소유권을 변경하려면 -R(재귀) 옵션을 사용할 수 있습니다. 이 옵션은 아카이브 폴더에 있는 모든 파일의 사용자 소유권을 변경합니다.

sudo chown -R mary ./archive/

이제 아카이브 디렉토리에 있는 파일을 살펴보겠습니다.

ls -l ./archive/

예상대로 모든 파일은 이제 mary에 속합니다.

  2020년에 테스트할 최고의 네트워크 모니터링 도구 15가지

그룹 소유권 변경

그룹 소유권을 변경하는 방법에는 여러 가지가 있습니다.

사용자 소유권을 변경함과 동시에 그룹 소유권을 변경하려면 새 소유자 이름과 새 그룹 이름을 콜론 “:”으로 구분하여 전달합니다. 그룹이 이미 존재해야 합니다.

sudo chown mary:researchlab charm.c

사용자 소유자와 파일이 속한 그룹이 모두 변경되었습니다.

ls -l charm.c

그룹 소유권을 새 소유자의 현재 그룹으로 변경하는 간단한 방법은 콜론만 제공하고 그룹 이름을 생략합니다.

sudo chown mary: caps.c

ls -l caps.c

사용자 소유권과 그룹 소유권이 모두 mary로 변경되었습니다.

그룹 소유권만 변경하려면 앞에 콜론을 사용하고 사용자 이름을 생략합니다. 사용자 소유자는 변경되지 않습니다.

sudo chown :researchlab at.c

ls -l at.c

그룹 소유권이 변경되었지만 사용자 소유권은 동일하게 유지됩니다.

UID 및 GID 값과 함께 Cown 사용

chown 명령과 함께 숫자 UID 및 GID 값을 사용할 수 있습니다. 이 명령은 사용자 및 그룹 소유권을 mary로 설정합니다.

sudo chown 1001:1001 at.c

ls -l at.c

소유는 율법의 10분의 9

또는 그들은 말합니다. 그러나 Linux에서 소유권은 파일 보안의 막대한 부분이며 나머지 부분은 파일 권한이 제공합니다. chown 및 chmod 명령을 사용하여 시스템에서 파일 액세스를 보호합니다.