권한(컴퓨팅)

Privilege (computing)

컴퓨팅에서 특권은 컴퓨터 [1]시스템에서 보안 관련 기능을 수행하기 위한 권한 위임으로 정의됩니다.사용자는 특권을 사용하여 보안상의 결과를 수반하는 액션을 수행할 수 있습니다.다양한 특권의 예로는 새 사용자 생성, 소프트웨어 설치 또는 커널 기능 변경 기능이 있습니다.

추가 제어 수준을 위임받은 사용자를 특권 사용자라고 합니다.대부분의 권한이 없는 사용자는 권한이 없는 사용자, 일반 사용자 또는 일반 사용자로 정의됩니다.

이론.

권한은 자동, 부여 또는 적용할 수 있습니다.

작업을 수행하기 위한 권한을 가질 필요가 없는 경우 자동 권한이 존재합니다.예를 들어 사용자가 시스템을 사용하기 위해 시스템에 로그인해야 하는 시스템에서는 로그아웃에 특권이 필요하지 않습니다.MS-DOS와 같이 파일 보호를 구현하지 않는 시스템은 기본적으로 파일에 대한 작업을 수행할 수 있는 무제한 권한을 가집니다.

권한 부여 권한에 몇 가지 자격 증명을 제시하면 부여된 권한이 존재합니다.이것은 통상, 유저명과 패스워드를 사용해 시스템에 로그 온 하는 것으로 행해집니다.또, 지정한 유저명과 패스워드가 올바른 경우는, 유저에게 추가의 특권이 부여됩니다.

특권은 고급 권한 요청을 발행하는 실행 프로그램 또는 추가 권한을 신청하는 일부 프로그램을 실행함으로써 적용됩니다.추가 특권을 신청하는 사용자의 예를 다음에 나타냅니다.sudo명령어를 사용하여 슈퍼 사용자(root) 사용자 또는 Kerberos 인증 시스템에서 명령을 실행합니다.

최신 프로세서 아키텍처에는 OS를 다른 권한 수준에서 실행할 수 있는 여러 CPU 모드가 있습니다.일부 프로세서에는 2개의 레벨(사용자 슈퍼바이저 등)이 있습니다.i386+ 프로세서에는 4개의 레벨(#0은 최대, #3은 최소 권한)이 있습니다.태스크에는 권한 수준이 태그로 지정됩니다.자원(세그먼트, 페이지, 포트 등) 및 특권 명령에는 필요한 특권 레벨이 태그 부착됩니다.태스크가 리소스를 사용하거나 특권 명령을 실행하려고 하면 프로세서는 권한이 있는지 여부를 확인합니다(그렇지 않으면 "보호 장애" 인터럽트가 생성됩니다).이를 통해 사용자 태스크가 OS 또는 서로 손상되는 것을 방지할 수 있습니다.

컴퓨터 프로그래밍에서는 어레이가 경계를 벗어나 접근하거나 참조된 비활성 메모리 위치가 하나의 제어 장치 입출력 등의 특권 위치일 때 특권 명령 위반과 관련된 예외가 발생할 수 있습니다.이 문제는 특히 포인터 연산을 사용하거나 배열 경계를 자동으로 검사하지 않는 C와 같은 프로그래밍 언어에서 발생할 가능성이 높습니다.

유닉스

Unix 계열 시스템에서는 슈퍼 유저(통칭 'root')가 모든 권한을 소유합니다.일반 사용자에게는 가장 일반적인 작업을 수행할 수 있는 충분한 권한만 부여됩니다.UNIX 시스템에는 보안 기능이 내장되어 있습니다.대부분의 사용자는 새 사용자 계정을 설정할 수 없으며 다른 관리 절차도 수행할 수 없습니다.사용자 "root"는 슈퍼 사용자라고 불리는 특별한 사용자로, 시스템에서 모든 작업을 수행할 수 있습니다.UNIX 시스템을 완전하게 관리하려면 , 이 높은 파워가 필요하지만, 유저의 실수나 시스템 문제의 원인이 되기도 합니다.

권한이 없는 사용자는 일반적으로 다음을 수행할 수 없습니다.

  • 커널 옵션 조정
  • 시스템 파일 또는 다른 사용자의 파일을 수정합니다.
  • 파일의 소유권을 변경합니다.
  • 레벨을 변경한다(시스템 V 스타일 초기화가 있는 시스템에서).
  • 파일의 파일 모드를 변경합니다.
  • ULIMIT 또는 디스크 할당량 조정
  • 데몬 시작, 정지 및 제거
  • 다른 사용자의 신호 처리
  • 디바이스 노드 생성
  • 사용자 또는 그룹의 작성 또는 삭제
  • 볼륨 마운트 또는 마운트 해제(일반 사용자가 콤팩트 디스크 의 이동식 미디어를 마운트 및 마운트 해제할 수 있는 것이 일반화되고 있지만, 이는 일반적으로 FUSE를 통해 이루어집니다.)
  • 임의의 내용을 실행하다sbin/디렉토리(단, 일반 사용자에 의해 실행될 때 이러한 프로그램의 동작을 단순히 제한하는 것이 일반화되고 있지만,
  • 바인드 포트가 1024 미만입니다.

윈도 NT

Windows NT 기반 시스템에서는 권한이 다양한 수준으로 위임됩니다.이러한 위임은 로컬보안 정책 매니저를 사용하여 정의할 수 있습니다( ).secpol.msc다음은 기본 할당의 간략한 목록입니다.

  • 'NT AUTHORITY\System'은 Unix 계열 시스템의 Superuser에 가장 가까운 것입니다.기존 Unix 슈퍼 유저의 많은 특권을 가지고 있습니다(예를 들어 작성된 모든 파일의 트러스트).
  • 'Administrator'는 Unix 유사 시스템의 슈퍼 사용자(root)에 가장 가까운 것 중 하나입니다.단, 이 사용자는 슈퍼 유저만큼 운영 체제의 보호를 덮어쓸 수 없습니다.
  • '관리자' 그룹의 구성원은 '관리자'와 거의 동등한 권한을 가진다.
  • Power Users' 그룹의 구성원은 프로그램을 설치하고 시스템을 백업할 수 있습니다.
  • '사용자' 그룹의 구성원은 Unix 유사 시스템의 권한 없는 사용자와 동일합니다.

Windows 에서는, 유저나 그룹에 개별적으로 할당할 수 있는 다수의 관리 권한을[2] 정의합니다.계정(사용자)은 그룹 구성원 자격을 통해 직접 또는 간접적으로 부여된 권한만 보유합니다.설치 시 다수의 그룹 및 계정이 생성되고 권한이 부여됩니다.그러나 이러한 인가는 나중에 또는 그룹 정책을 통해 변경할 수 있습니다.Linux와 달리 특정 계정에는 암묵적으로 또는 영구적으로 권한이 부여되지 않습니다.

일부 관리자 권한(예: 임의 파일 소유권 또는 복원)은 매우 강력하기 때문에 악의적인 의도를 가지고 사용할 경우 시스템 전체가 손상될 수 있습니다.사용자 계정 컨트롤(Windows Vista 이후 기본적으로 켜짐)을 사용하면 로그인 시 이러한 권한의 사용자 토큰이 제거됩니다.따라서 사용자가 광범위한 시스템 권한을 가진 계정으로 로그인해도 해당 시스템 권한으로 실행되지 않습니다.사용자가 시스템 권한을 요구하는 관리 액션을 수행하려면 항상 높은 프로세스에서 수행해야 합니다.상승된 프로세스를 실행할 때 사용자는 동의가 필요한 프롬프트를 통해 자신의 관리자 권한이 주장되고 있음을 인식합니다.실제로 필요할 때까지 권한을 보유하지 않는 것은 최소 권한 원칙과 일치합니다.

상승된 프로세스는 시스템의 전체 권한이 아닌 사용자의 전체 권한으로 실행됩니다.그래도 사용자의 권한은 특정 프로세스에 필요한 권한보다 클 수 있으므로 완전히 최소 권한은 아닙니다.

DOS 기반의 Windows Me, Windows 98, Windows 95 및 이전 버전의 Windows는 FAT 파일 시스템에서만 작동하며 파일 시스템 권한을[3] 지원하지 않았기 때문에 NTFS 파일 시스템을 사용하지 않는 Windows NT 기반 시스템에서는 권한이 효과적으로 상실됩니다.

명명법

Windows 소스 코드에서 사용되는 이름은 "특권" 또는 "로그온 권리"로 끝납니다.이것은 이러한 모든 "권리"와 "특권"의 완전한 집합을 뭐라고 불러야 하는지에 대한 혼란으로 이어졌다.

Microsoft는 현재 "사용자 권한"[4]이라는 용어를 사용하고 있습니다.과거 Microsoft에서는 "특권",[5] "로그온 사용자 권한",[6] "nt-rights"[7]와 같은 다른 용어들도 사용되었습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Glossary". CSRC. NIST. Archived from the original on 13 February 2019. Retrieved 12 February 2019.
  2. ^ "Privilege constants". Microsoft.
  3. ^ "How permissions work". Microsoft. You can set permissions at the file level only if the files are stored on an NTFS volume.
  4. ^ "User rights". Microsoft TechNet library. Userrights include logon rights and privileges.
  5. ^ "Privilege rights". Microsoft MSDN library.
  6. ^ "How to set logon user rights by using the ntrights utility". Microsoft support.
  7. ^ "How to set logon user rights by using the ntrights utility". Microsoft support.