“ls -ld / tmp”의 출력에서 ​​”t”문자는 무엇입니까? 후의 편지는

명령을 실행할 때  ls -ld /tmp출력은 다음과 같습니다.

drwxrwxrwt 30 root root 20480 Mar 11 14:17 /tmp

그래서 두 가지 주요 질문이 있습니다.

  • t허가 후의 편지는 무엇입니까 ?
  • 내가 아는 /tmp한 시스템에서 다른 사용자와 관련된 임시 파일을 만드는 데 사용되므로 어떻게 권한이 rwxrwxrwx있습니까 (777)?

이것은 나에게 잘못된 것 같습니다. 여기서 무슨 일이 일어나고 있는지 이해하려면 도움이 필요합니다.



답변

끈적 끈적한 것은 무엇입니까?

고정 비트는 해당 디렉토리 내의 파일 소유자, 디렉토리 소유자 또는 루트 사용자 만 파일을 삭제하거나 이름을 바꿀 수있는 디렉토리에 설정된 권한 비트입니다. 다른 사용자가 다른 사용자가 작성한 파일을 삭제하는 데 필요한 권한이 없습니다.

다른 사용자에게는 모든 권한이 있지만 중요한 폴더 및 해당 내용 (하위 디렉터리 및 파일)이 삭제되지 않도록하기위한 보안 조치입니다.

이유는 무엇입니까 /tmpt스티키 비트를?

/tmp디렉토리는 임시 파일을 생성하는 다른 리눅스 사용자가 사용할 수 있습니다. 이제 사용자가이 디렉토리의 다른 사용자가 만든 파일을 삭제 / 이름 변경하면 어떻게됩니까?

이런 종류의 문제를 피하기 위해 끈적 끈적한 개념이 사용됩니다. 따라서 a 777가 주어 지지만 끈적 끈적한 부분을 보존하는 것은 나쁜 생각이 아닙니다.

디렉토리에 고정 비트를 설정하려면 어떻게해야합니까?

test데스크탑 에있는 디렉토리에 고정 비트를 설정합니다 .

상징적 인 방법 ( t스티커 비트를 나타냄) :

chmod o+t ~/Desktop/test

또는

chmod +t ~/Desktop/test

숫자 / 8 진수 방식 (1, 첫 번째 위치의 값 1 인 고정 비트 비트)

chmod 1757 ~/Desktop/test

이제 결과를 테스트 해 보자.

ls -li ~/Desktop/test

1551793 drwxrwxrwt 45 hadi hadi 20485 Mar 11 14:35 ~/Desktop/test

스티커 비트를 삭제 / 제거하려면

chmod o-t ~/Desktop/test

이제 결과를 테스트 해 보자.

ls -li ~/Desktop/test

1551793 drwxrwxrwx 45 hadi hadi 20485 Mar 11 14:35 ~/Desktop/test

출처 : Linux Juggernaut의“스티키 비트 란 무엇이며 Linux에서 설정하는 방법은 무엇입니까?”


답변

고정 비트는 파일 / 디렉토리 소유자 또는 루트 사용자 만 파일을 삭제하거나 이름을 바꿀 수있는 파일 또는 디렉토리에 설정된 권한 비트입니다. 다른 사용자에게는 다른 사용자가 만든 파일을 삭제할 수있는 권한이 없습니다.

때때로 파일을 작성하기 위해 Linux 시스템의 모든 사용자가 사용할 수있는 Linux 디렉토리가 필요합니다. 사용자는이 디렉토리의 편의에 따라 파일을 작성, 삭제 또는 이름을 바꿀 수 있습니다.

이제 사용자가이 디렉토리의 다른 사용자가 만든 파일을 실수로 또는 고의로 삭제 (또는 이름 바꾸기)하면 어떻게됩니까?

이런 종류의 문제를 피하기 위해 끈적 끈적한 개념이 사용됩니다. / tmp 가이 목적으로 사용 되기 때문 입니다. 위의 시나리오를 피하기 위해 / tmp 는 고정 비트를 사용합니다.

예를 들면 다음과 같습니다.

mkdir demo
chmod 777 demo

또한이 폴더에 권한 777을 가진 다른 사용자로 두 개의 파일을 만들었습니다.

ls -ld demo
drwxrwxrwx 2 guru guru 4096 Mar 11 18:17 demo

ls -l demo
-rwxrwxrwx 1 abhi abhi    0 Mar 11 17:11 file1
-rwxrwxrwx 1 anshu anshu   0 Mar 11 18:15 file2

이제 끈적 끈적한 부분을 켜십시오.

 chmod +t demo/
 ls -ld demo
 drwxrwxrwt 2 guru guru 4096 Mar 11 18:17 demo

이제 한 명의 사용자 (abhi)가 두 번째 사용자 (anshu)의 이름을 바꾸려면 어떻게됩니까?

mv /home/guru/demo/file2  /home/guru/demo/file3
mv: cannot move '/home/guru/demo/file2' to  '/home/guru/demo/file3': Operation not   permitted

끈적 끈적한 기원

Linux에서 고정 비트는 디렉토리에서 위에서 설명한 용도 만 사용합니다. 지금까지는 일반 파일에서 완전히 다른 것으로 사용되었으며 이름이 유래했습니다.

프로그램이 실행될 때 사용자가 실제로 사용하기 전에 프로그램을 메모리에로드하는 데 시간이 걸립니다. 프로그램이 편집기와 같은 프로그램을 사용자가 자주 사용하는 경우 시작 시간 지연이 오버 헤드였습니다.

이 시간 지연을 개선하기 위해, 끈적 끈적한 비트가 도입되었습니다. OS는 실행 파일의 고정 비트가 ON 인 경우 실행 파일의 텍스트 세그먼트가 스왑 공간에 유지되는지 확인했습니다. 따라서 프로그램을 다시 실행할 때 실행 파일을 RAM으로 쉽게 다시로드 할 수있어 시간 지연이 최소화됩니다.

Linux와 같은 최신 시스템은 실행 파일 및 기타 파일의 캐시를 자동으로 관리하므로 고정 비트가 필요하지 않습니다.

출처 : Geek Stuff의“예제와 함께 설명 된 Linux Sticky Bit Concept”


답변

stickybit는 실수로 공유 디렉토리를 삭제하지 않는 해결 방법입니다. 디렉토리에 고정 비트가있는 경우 모든 사용자가 다른 모든 권한을 가질 수있는 경우에도 소유자 또는 루트 만 디렉토리를 삭제할 수 있습니다.

/tmp프로세스와 사용자간에 가장 공유 된 디렉토리이며, 사용자가 디렉토리를 삭제할 수 없도록하는 stickybit을 포함하고 있으며, 권한이있는 경우에도 디렉토리를 사용할 수있는 권한 777을 사용자와 프로세스에 부여 할 수 있어야합니다. 권한 충돌이 없습니다.