파일 권한은 어떻게 계산되나요?

파일 권한은 어떻게 계산되나요?

을 사용하여 chmod파일의 권한을 설정할 수 있지만 ..상위( ) 디렉터리에 충돌하는 권한이 있으면 어떻게 됩니까?

이와 같은 방법을 사용하여 새 파일을 생성하는 경우 touch초기 권한은 어떻게 계산됩니까? 권한은 에서 상속됩니까 ..?

권한 플래그를 제거하면 디렉토리에서 아무 것도 할 수 없는 이유는 무엇입니까 executable?

$ mkdir temp;
$ chmod -x temp;
$ touch temp/a;
$ ls temp;
touch: cannot touch `temp/a': Permission denied

답변1

  1. 엄밀히 말하면 UNIX에는 "권한 충돌"이 없습니다. 파일 시스템 항목(디렉토리, 파일 등)에 대한 액세스 권한에 따라 해당 개체에 대해 수행할 수 있는 작업과 수행할 수 없는 작업이 결정됩니다. 다른 파일 시스템 항목의 권한은 관련되지 않습니다.경로의 모든 상위 디렉터리에 있는 "x" 비트를 제외하고파일로 (최대 /) - 3을 참조하세요.

  2. 새로 생성된 파일에 대한 기본 권한은 mode생성 프로그램(또는 시스템 호출에 대한 인수)과 현재 프로세스에서 허용하는 권한에 따라 결정됩니다. 특히 "umask"에 설정된 모든 비트(1)는 새로 생성된 파일 권한에서 C와 유사한 표기법으로 재설정(0)됩니다. 읽고(찾고) 자세히 알아보세요.opencreatumaskfile_permissions = open_mode & ! umaskman 2 creatO_CREATman umask

  3. 디렉토리의 "x"(실행 가능) 비트는 다음을 제어합니다.횡단디렉터리: 디렉터리를 탐색한다는 것은 cd디렉터리에 들어가 그 안에 포함된 파일에 액세스할 수 있다는 의미입니다. 디렉토리 내용을 나열하는 기능은 "r" 비트에 의해 제어됩니다.

추가 자료:

답변2

우선... Linux에서는 모든 것이 파일입니다. 그리고 제가 말하는 모든 것은 폴더, 마우스, 키보드 등 모든 것이 파일이라는 뜻입니다.

이제 귀하의 질문에 답해 보겠습니다.

  1. 폴더와 포함된 파일 간에 충돌이 없습니다. 읽기 권한만 있는 폴더가 있는데 해당 폴더에 쓰기 권한이 있는 파일이 있는 경우 해당 파일에 쓸 수 있습니다. 하지만 해당 폴더에는 파일을 생성/삭제할 수 없습니다. 그러므로 갈등에 대해 걱정하지 마십시오. 폴더의 내용을 읽을 수도 있습니다(폴더 나열).

  2. 기본 권한은 일반적으로 644입니다(즉, rw는 사용자, r은 그룹 및 기타를 나타냄).

  3. 디렉토리의 "실행 가능" 비트는 디렉토리를 "나열"한다는 의미입니다. 즉, -xa 폴더를 사용하면 그 내용을 알 수 없으므로 해당 폴더로 아무 것도 할 수 없다는 의미입니다.

관련 정보