Linux에서 파일 권한을 변경할 수 있는 사용자(루트 제외)는 누구입니까?

Linux에서 파일 권한을 변경할 수 있는 사용자(루트 제외)는 누구입니까?

기본적으로 루트가 아닌 사용자로 파일을 실행할 때 chmod명령에 대해 "권한 거부" 메시지가 나타나는 경우는 언제이며, 그렇지 않은 경우는 언제입니까? 파일의 어떤 속성이 권한 변경을 허용하거나 허용하지 않습니까?

나는 그것이 파일 소유자라고 가정하고 여기에 묻는다. 왜냐하면 나는 단지 내부의 기본 개념을 이해하려고 노력하고 있기 때문이다.

답변1

간단히 말해서:GNU/Linux에서 파일을 실행 하려면 chmod루트 또는 파일 소유자여야 합니다.

~에서수정(2)(chmod 시스템 호출) 매뉴얼 페이지:

호출 프로세스의 유효 UID는 일치해야 합니다.파일 소유자또는 프로세스에 권한이 있어야 합니다(Linux: 권한이 있어야 합니다). CAP_FOWNER능력).

~에서능력(7)매뉴얼 페이지:

CAP_FOWNER

  • CAP_DAC_OVERRIDE 및 CAP_DAC_READ_SEARCH에서 다루는 작업을 제외하고 일반적으로 프로세스의 파일 시스템 UID가 파일의 UID(예: chmod(2), utime(2))와 일치해야 하는 작업에 대한 권한 검사를 우회합니다. [...]

~에서사실 설정(1)매뉴얼 페이지:

권한

CAP_FOWNER 기능이 있는 파일 소유자 및 프로세스에는 파일의 ACL을 수정할 수 있는 권한이 부여됩니다. 이는 파일 모드에 액세스하는 데 필요한 권한과 유사합니다. (현재 Linux 시스템에서는 루트가 유일한 사용자입니다그리고CAP_FOWNER능력. )

관련 정보