리눅스 기능으로 작업하기

소개

Linux 기능은 프로세스 및 이진 실행 파일에 유효 사용자 ID가 0 인 프로세스 (일반적으로 루트 사용자 만 UID 0을 갖는)에 대해 예약 된 특정 권한을 부여하는 Linux 커널의 특수 속성입니다.

이 기사에서는 사용 가능한 기능 중 일부, 사용법 및 설정 및 제거 방법에 대해 설명합니다. 실행 파일에서 기능을 설정하면 시스템 보안이 손상 될 수 있습니다. 따라서 프로덕션 기능을 구현하기 전에 비 프로덕션 시스템에서의 테스트를 고려해야합니다.

전제 조건

  • 루트 액세스 권한이있는 Linux 시스템 (루트 사용자 또는 sudo 액세스 권한이있는 사용자를 통해)

설명

기본적으로 기능의 목표는 '루트'의 힘을 특정 권한으로 나누는 것입니다. 따라서 하나 이상의 기능을 가진 프로세스 나 이진을 이용하는 경우 루트와 동일한 프로세스와 비교할 때 잠재적 손상이 제한됩니다.

프로세스 및 실행 파일에서 기능을 설정할 수 있습니다. 파일 실행으로 인한 프로세스는 해당 파일의 기능을 얻을 수 있습니다.

Linux에서 구현 된 기능은 다양하며 원래 릴리스 이후 많은 기능이 추가되었습니다. 그들 중 일부는 다음과 같습니다.

  • CAP_CHOWN: 파일의 사용자 ID 및 그룹 ID를 변경하십시오.
  • CAP_DAC_OVERRIDE: DAC (임의 액세스 제어)를 재정의합니다. 예를 들어, vto 바이 패스 읽기 / 쓰기 / 실행 권한 검사.
  • CAP_KILL: 프로세스에 신호를 보내기 위해 권한 검사를 무시합니다.
  • CAP_SYS_NICE: 프로세스의 멋을 높이십시오 (멋짐에 대한 설명은 여기에서 찾을 수 있습니다 )
  • CAP_SYS_TIME: 시스템 및 실시간 하드웨어 시계 설정

전체 목록을 보려면을 실행하십시오 man 7 capabilities.

기능은 스레드에 대해 "허용됨", "상속 가능", "유효"및 "주변"및 파일에 대해 "허용됨", "상속 가능"및 "유효"세트로 지정됩니다. 이 세트는 서로 다른 복잡한 동작을 정의하며 자세한 설명은이 기사의 범위를 벗어납니다.

파일에서 기능을 설정할 때 거의 항상 "허용됨"및 "효과적"을 사용합니다 CAP_DAC_OVERRIDE+ep. +ep앞에서 언급 한 세트를 나타내는를 주목하십시오 .

파일 기능 작업

필수 패키지

두 가지 주요 도구가 getcap있으며 setcap이러한 도구 를 각각보고 설정할 수 있습니다.

  • 데비안과 우분투에서이 도구들은 libcap2-bin패키지 로 제공되며 다음 과 같이 설치할 수 있습니다 :apt install libcap2-bin
  • CentOS 및 Fedora에서는 libcap패키지가 필요합니다.yum install libcap
  • 아치 리눅스에서는 libcap다음과 같이 제공됩니다 :pacman -S libcap

읽기 기능

파일에 기능이 설정되어 있는지 확인하려면 다음과 같이 간단히 실행 getcap /full/path/to/binary하면됩니다.

 root@demo:~# getcap /usr/bin/ping
 /usr/bin/ping = cap_net_raw+ep
 root@demo:~# getcap /usr/bin/rcp
 /usr/bin/rcp = cap_net_bind_service+ep

시스템에 어떤 기능이 이미 설정되어 있는지 확인하려면 다음 명령을 사용하여 전체 파일 시스템을 재귀 적으로 검색 할 수 있습니다.

getcap -r /

가상 파일 시스템 (예 /proc:)이 이러한 작업을 지원하지 않기 때문에 위의 명령으로 수천 개의 오류가 발생하므로보다 깨끗한 출력을 위해 다음을 사용하십시오.

getcap -r / 2>/dev/null 

기능 할당 및 제거

파일에서 특정 기능을 설정하려면을 사용하십시오 setcap "capability_string" /path/to/file.

파일에서 모든 기능을 제거하려면을 사용하십시오 setcap -r /path/to/file.

데모를 위해 현재 디렉토리에 빈 파일을 생성하고 기능을 제공 한 후 제거합니다. 다음으로 시작하십시오.

root@demo:~# touch testfile
root@demo:~# getcap testfile

두 번째 명령은 출력을 생성하지 않으므로이 파일에는 기능이 없습니다.

다음으로 파일의 기능을 설정하십시오.

root@demo:~# setcap "CAP_CHOWN+ep" testfile
root@demo:~# getcap testfile
testfile = cap_chown+ep

예를 들어 "CAP_CHOWN + ep"가 사용되었지만 다른 방식으로이 방법을 지정할 수 있습니다.

이제 다음에서 모든 기능을 제거하십시오 testfile.

root@demo:~# setcap -r testfile
root@demo:~# getcap testfile

"CAP_CHOWN + ep"가 제거되었으므로 다시 출력이 없습니다.

결론

기능은 잠재적으로 많이 사용되며 시스템 보안을 강화하는 데 도움이 될 수 있습니다. 실행 파일에서 SUID 비트를 사용하는 경우 필요한 특정 기능으로 교체하십시오.



Leave a Comment

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.

ReactOS: 이것이 Windows의 미래입니까?

ReactOS: 이것이 Windows의 미래입니까?

오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구

저널링 파일 시스템이란 무엇이며 어떻게 작동합니까?

저널링 파일 시스템이란 무엇이며 어떻게 작동합니까?

우리 컴퓨터는 모든 데이터를 저널링 파일 시스템이라고 하는 체계적인 방식으로 저장합니다. 검색을 누르는 즉시 컴퓨터에서 파일을 검색하고 표시할 수 있는 효율적인 방법입니다.https://wethegeek.com/?p=94116&preview=true

기술적 특이점: 인류 문명의 먼 미래?

기술적 특이점: 인류 문명의 먼 미래?

과학이 빠른 속도로 발전하고 우리의 많은 노력을 인수함에 따라 설명할 수 없는 특이점에 처할 위험도 높아집니다. 특이점이 우리에게 무엇을 의미할 수 있는지 읽어보십시오.

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

2021년 의료 분야에서 인공 지능의 영향

2021년 의료 분야에서 인공 지능의 영향

의료 분야의 AI는 지난 수십 년 동안 큰 도약을 했습니다. 따라서 의료 분야에서 AI의 미래는 여전히 나날이 성장하고 있습니다.