Computer >> 컴퓨터 >  >> 체계 >> Linux

Linux에서 공유 디렉토리의 파일을 관리하기 위해 스티키 비트를 사용하는 방법

Linux에서 공유 디렉토리의 파일을 관리하기 위해 스티키 비트를 사용하는 방법

처음부터 Linux는 다중 사용자 환경을 지원하도록 조정되었습니다. 작업 시스템에 많은 사용자와 그룹이 있는 경우 동일한 그룹의 사용자 간에 공유되는 디렉터리를 만나는 것이 매우 일반적이며 디렉터리의 파일 공유로 인해 문제가 발생합니다. 이 기사에서는 고정 비트를 사용하여 공유 디렉토리에 대한 파일 액세스 권한을 미세 조정하는 방법에 대해 설명합니다.

설명을 위해 john1, john2 및 john3의 세 사용자가 있는 시스템이 있으며 모두 공통 그룹 "johns"의 구성원입니다.

"john1"이 "johns" 그룹의 모든 사용자가 공유할 수 있는 "shared-dir"이라는 새 디렉토리를 생성한다고 가정해 보겠습니다.

Linux에서 공유 디렉토리의 파일을 관리하기 위해 스티키 비트를 사용하는 방법

ls 사용 명령을 실행하면 다음 표에서 해석할 수 있는 "shared-dir"의 권한을 볼 수 있습니다.

Linux에서 공유 디렉토리의 파일을 관리하기 위해 스티키 비트를 사용하는 방법

"john1"만이 디렉토리의 내용을 읽고 디렉토리에 쓸 수 있습니다. 우리는 공유 디렉토리로 작업하고 있기 때문에 그룹의 모든 사용자가 "shared-dir"에 쓸 수 있기를 바랍니다.

이를 위해 chmod를 사용하여 권한을 수정합니다. 명령. 아래와 같이 "johns" 그룹의 모든 사용자에게 "쓰기" 권한을 추가합니다.

Linux에서 공유 디렉토리의 파일을 관리하기 위해 스티키 비트를 사용하는 방법

아래와 같이 "shared-dir"에 대한 업데이트된 권한을 볼 수 있습니다. 노란색 밑줄 친 부분은 "johns" 그룹에 "쓰기" 권한이 부여되었음을 나타냅니다.

Linux에서 공유 디렉토리의 파일을 관리하기 위해 스티키 비트를 사용하는 방법

공유 디렉토리에 파일 추가

이제 "john1"은 "shared-dir"에 두 개의 파일(j1_file1.txt 및 j1_file2.txt)을 추가합니다.

Linux에서 공유 디렉토리의 파일을 관리하기 위해 스티키 비트를 사용하는 방법

이해를 돕기 위해 파일 이름의 처음 두 문자는 사용자 이름과 동의어입니다.

Linux에서 공유 디렉토리의 파일을 관리하기 위해 스티키 비트를 사용하는 방법

마찬가지로 "john2"도 "shared-dir" 디렉토리에 "쓰기"할 수 있습니다.

Linux에서 공유 디렉토리의 파일을 관리하기 위해 스티키 비트를 사용하는 방법 Linux에서 공유 디렉토리의 파일을 관리하기 위해 스티키 비트를 사용하는 방법

현재 "shared-dir"에 4개의 파일이 있습니다.

Linux에서 공유 디렉토리의 파일을 관리하기 위해 스티키 비트를 사용하는 방법

현재 설정에 문제가 있습니까?

"j1_file1.txt" 파일은 "john1"을 파일 소유자로 만드는 "john1"에 의해 생성되었습니다. 이제 "john2"가 로그인하여 이 파일을 삭제하려고 하면 삭제할 수 있습니다.

"john1"은 파일 소유자였지만 "john2"는 "johns" 그룹의 모든 구성원에게 "쓰기" 권한이 부여되었기 때문에 파일을 삭제할 수 있었습니다.

이 시나리오는 이상적이지 않습니다. 모든 사용자가 디렉토리에 쓸 수 있기를 원하지만 파일 소유자만 파일을 삭제할 수 있어야 합니다. 이를 어떻게 달성할 수 있습니까?

스티키 비트 소개

스티키 비트는 액세스 권한이 있는 그룹에 대해 "쓰기" 권한이 설정된 디렉토리에 설정할 수 있는 특수 권한입니다. 이 비트는 그룹의 모든 구성원이 디렉터리에 쓸 수 있지만 파일을 만든 사람, 즉 파일 소유자만 파일을 삭제할 수 있도록 합니다.

chmod +t 명령 플래그는 디렉토리에 고정 비트를 설정하는 데 사용할 수 있습니다.

Linux에서 공유 디렉토리의 파일을 관리하기 위해 스티키 비트를 사용하는 방법

업데이트된 권한은 아래에서 볼 수 있습니다.

Linux에서 공유 디렉토리의 파일을 관리하기 위해 스티키 비트를 사용하는 방법

이제 "john2"가 "john1"이 생성한 "j1_file2.txt" 파일을 삭제하려고 하면 해당 작업이 허용되지 않습니다.

Linux에서 공유 디렉토리의 파일을 관리하기 위해 스티키 비트를 사용하는 방법

아래와 같이 "기타"에 대한 "실행" 권한을 제거하는 경우:

Linux에서 공유 디렉토리의 파일을 관리하기 위해 스티키 비트를 사용하는 방법

디렉토리에 스티키 비트의 존재는 권한 문자열의 "기타" 부분에 대문자 "T"로 표시됩니다. 디렉토리의 스티키 비트 동작은 동일하게 유지됩니다.

Linux에서 공유 디렉토리의 파일을 관리하기 위해 스티키 비트를 사용하는 방법

"chmod" 명령의 변형

chmod의 숫자 형식 명령을 사용하여 디렉토리에 고정 비트를 설정할 수도 있습니다.

chmod nxyz <file_name>

어디,

  • n =1, 스티키 비트를 나타냅니다. "n"의 다른 값은 다른 특수 권한을 나타냅니다.
  • x :파일 소유자에게 부여된 권한
  • y :파일에 대한 액세스 권한이 있는 그룹에 부여된 권한
  • z :다른 사람에게 부여된 권한

"shared-dir"에 고정 비트를 설정하려면 다음 명령을 사용하십시오.

chmod 1755 shared-dir

+t를 사용하는 것과 동일한 결과를 생성합니다. 기존 기본 권한에.

스티키 비트의 사용은 디렉토리에만 유효하며 파일에 사용하는 것은 의미가 없습니다.