FAT 마운트 옵션 allowed_utime 설명

FAT 마운트 옵션 allowed_utime 설명

다음 (v)FAT(Linux)에 대해 Mountoption이 수행하는 작업을 알아내려고 합니다.

allow_utime=### -- 이 옵션은 mtime/atime의 권한 확인을 제어합니다.

              20 - If current process is in group of file's group ID,
                   you can change timestamp.
               2 - Other users can change timestamp.

             The default is set from `dmask' option. (If the directory is
             writable, utime(2) is also allowed. I.e. ~dmask & 022)

             Normally utime(2) checks current process is owner of
             the file, or it has CAP_FOWNER capability.  But FAT
             filesystem doesn't have uid/gid on disk, so normal
             check is too unflexible. With this option you can
             relax it.

[원천]

질문:(위) 이것은 무엇을 의미합니까?

찾아보려고 하다가 C 코드로 끝났는데 별로 도움이 되지 않았기 때문에 이 코드도 man 2 utime(언급한 대로) 현재로서는 나에게 별로 도움이 되지 않습니다. 좋아요소스 사용

에서 utime:utime() 시스템 호출은 filename으로 지정된 inode의 액세스 및 수정 시간을 다음으로 변경합니다.행동 시간modtime시간 필드.

나는 그것을 다음과 같이 읽었습니다: 변경 타임스탬프를 활성화합니다. 이 마운트 옵션을 사용하는 방법에 대한 실제적인 예를 제시할 수 있는 귀하에게 큰 감사를 드립니다( allow_utim).

답변1

일반 Unix 파일 속성을 지원하는 파일 시스템에서 각 파일에는 소유자로 지정된 사용자가 있습니다. 파일의 소유자만이 타임스탬프를 변경할 수 있습니다 utime. 다른 사용자는 쓰기 권한이 있더라도 타임스탬프를 변경할 수 없습니다.

FAT 파일 시스템은 소유자와 같은 것을 기록하지 않습니다. FAT 파일 시스템 드라이버는 특정 사용자(예: 설치를 수행한 사용자 또는 매개변수로 지정된 사용자)가 각 파일의 소유자인 것처럼 가장합니다 uid. 일반 규칙을 사용하면 해당 사용자만 타임스탬프를 변경할 수 있습니다. 파일에는 매개변수에 따라 결정되는 해당 파일이 속한 그룹도 있습니다 gid.

FAT 파일 시스템은 Unix 파일 권한을 기록하지 않으므로 드라이버가 이를 보상합니다. umask, fmask및 매개변수를 기반으로 권한을 할당하므로 dmask모든 디렉터리와 모든 일반 파일은 동일한 권한을 갖습니다.

소유자가 아닌 사용자가 파일 시스템에 대한 쓰기 액세스 권한을 갖고 있으면 일반 파일 및 디렉터리뿐만 아니라 파일 메타데이터도 수정할 수 있다는 것이 합리적입니다. FAT 파일 시스템에서 중요한 주요 메타데이터는 파일의 타임스탬프입니다. 일반적으로 소유 사용자만 타임스탬프를 수정할 수 있습니다. 마운트 옵션을 전달하면 allow_utime다른 사용자가 타임스탬프를 변경하도록 허용할 수도 있습니다. 예를 들어, 그룹이 foo파일 시스템의 모든 항목을 수정할 수 있도록 허용하고 다른 그룹은 읽을 수는 있지만 쓸 수는 없도록 하려면 인수를 전달할 수 있습니다.

gid=foo,umask=002,allow_utime=20

allow_utime(실제로는 umask의 기본값을 기반으로 합니다.)

관련 정보