Linux의 모든 사용자 계정이 chmod 명령을 호출할 수 있습니까?

Linux의 모든 사용자 계정이 chmod 명령을 호출할 수 있습니까?

권한은 민감하므로 특정 사용자가 명령을 실행할 수 있는지 여부를 아는 것이 중요합니까 chmod?

답변1

아니요, 모든 사용자가 이 명령을 실행할 수 있으며 그렇게 할 수 있어야 합니다. 이 명령은 사용자가 디렉터리나 파일에 대한 권한 비트를 조작하는 방법입니다. 이는 쉘 스크립트를 실행 가능하게 만들거나 사용자가 속할 수 있는 그룹에 액세스할 수 있는 디렉터리를 만드는 데 중요합니다.

  1. 실행 가능한 스크립트

    $ ls -l reset*
    -rwxrwxr-x 1 saml saml   378 Sep  2 02:46 reset_raw_sorted.bash
    
  2. 카탈로그 방문

    $ ls -ld adir
    drwxrwxr-x 2 saml saml 4096 Oct 19 21:28 adir
    

    이제 이 디렉터리에 대한 실행 비트를 비활성화합니다.

    $ chmod -x adir
    $ ls -ld adir
    drw-rw-r-- 2 saml saml 4096 Oct 19 21:28 adir
    

    cd이제 이 디렉토리에 들어갈 수 없습니다.

    $ cd adir/
    bash: cd: adir/: Permission denied
    
  3. 파일 및 디렉터리에 대한 그룹 액세스 제어

    이 그룹에 사용자가 있다고 가정해 보겠습니다.

    $ groups
    saml vboxusers jupiter newgrp blah
    

    blah 그룹의 다른 사용자에게 액세스 권한을 부여하고 싶습니다.adir

    $ ls -ld adir
    drwx---r-x 2 saml blah 4096 Oct 19 21:28 adir
    

    아래와 같이 chmod다른 사용자 권한을 제거하고 saml사용자 및 그룹에 대한 액세스를 제한하는 데 사용할 수 있습니다.blah

    $ chmod o-rwx,g+rwx adir
    $ ls -ld adir
    drwxrwx--- 2 saml blah 4096 Oct 19 21:28 adir
    

답변2

모든 사용자는 chmod자신이 소유한 모든 파일에 대한 권한을 호출하고 변경할 수 있습니다(일반적으로 루트는 물론 모든 파일에 대한 권한을 변경할 수 있습니다). 사용자는 자신에게 속하지 않은 파일에 대한 권한을 변경할 수 없습니다. 이렇게 하면 파일 보안이 완전히 손상됩니다! 파일에 대한 쓰기 권한은 파일 내용에만 적용되며 메타데이터(예: 권한)에는 적용되지 않습니다.

유닉스 구현임의 접근 제어: 파일의 소유자는 다른 사용자가 파일에 액세스하도록 자유롭게 허용할 수 있습니다.

Linux의 보안 프레임워크(SELinux, AppArmor 등)와 같이 루트가 루트가 아닌 사용자가 재정의할 수 없는 방식으로 특정 리소스에 대한 액세스를 제한할 수 있도록 하는 다양한 형태의 필수 액세스 제어가 있습니다. 그러나 이는 전용 사용자로 실행되는 애플리케이션을 격리하고 손상될 경우 발생할 수 있는 피해를 제한하도록 설계되었습니다. 이는 시스템 사용자 간에 필수 액세스 제어를 시행하는 데 도움이 되지 않습니다. MAC가 필요한 경우 여러 사용자가 있는 Unix 시스템은 올바른 환경이 아니며 네트워크가 없거나 매우 엄격하게 제어되는 네트워크, 이동식 드라이브 등이 없는 폐쇄형 시스템이 필요하며 각 사용자는 자신의 컴퓨터를 가지고 있습니다.

관련 정보