Computer >> 컴퓨터 >  >> 체계 >> Linux

Doas 란 무엇이며 설치 방법

Doas 란 무엇이며 설치 방법

Doas는 sudo와 유사한 권한 상승 프로그램입니다. 최대한 가볍고 간단하게 설계되었습니다. OpenBSD의 기본 권한 상승 프로그램이지만 OpenDoas 프로그램을 통해 다른 UNIX 계열 운영 체제에서도 사용할 수 있습니다.

sudo의 문제

수년에 걸쳐 sudo는 UNIX 세계에서 사실상의 권한 상승 프로그램이 되었습니다. 그러나 이것은 sudo가 UNIX와 유사한 시스템을 사용하는 모든 사람의 모든 사용 사례를 수용해야 함을 의미합니다. 프로그램 개발에서의 이러한 접근 방식은 sudo를 이해하기 어렵고 사용하기 어려운 다루기 힘든 프로그램으로 만들었습니다.

예를 들어 sudo의 동작을 수정하려면 visudo라는 명령을 실행해야 합니다. . 이것은 "안전 모드"에서 "/etc/sudoers" 파일을 여는 특수 로더 프로그램입니다.

Visudo는 몇 가지 작업을 수행합니다. "/etc/sudoers" 파일의 구문 오류를 일상적으로 확인하고 "/etc/sudoers" 파일을 잠궈 현재 사용자 외에는 누구도 파일을 편집할 수 없도록 합니다. 표면적으로는 유용한 것처럼 보이지만 visudo는 sudo의 복잡성이 증가하는 증상입니다.

Doas 란 무엇이며 설치 방법

이는 sudoers 파일의 구문이 잠재적인 구문 오류를 확인해야 할 정도로 복잡해짐을 의미합니다. 이것은 또한 sudo가 단일 사용자 및 다중 사용자 환경을 모두 수용해야 하므로 현재 사용자에 대해 sudoers 파일을 잠글 필요가 있음을 의미합니다.

Sudo는 훌륭한 프로그램입니다. 복잡한 구성 구문은 숙련된 시스템 관리자에게 잠재적으로 유용할 수 있는 정교한 권한 시스템을 생성할 수 있습니다.

그러나 대부분의 사용자는 sudo를 사용하여 루트 셸을 실행하여 프로그램을 설치하고 시스템을 수정합니다. 따라서 이러한 경우에는 Sudo의 복잡성이 기능이라기보다는 오히려 방해 요소로 보입니다.

doas를 사용하는 이유

Doas의 의도는 sudo의 복잡성을 해결하는 것입니다. OpenBSD용으로 개발되었으며 거의 ​​모든 Linux 시스템으로 빠르게 이식되었습니다. 빠르고 사용하기 쉬우면서도 유지 관리 및 보안이 간편함을 목표로 합니다.

doas의 구문도 sudo와 다릅니다. 구성하는 것은 일반 영어로 작성하는 것과 유사합니다. 예를 들어 sudo에서 그룹 휠의 모든 사용자가 암호 없이 루트로 실행할 수 있도록 하는 구문은 다음과 같습니다.

%wheel ALL=(ALL) NOPASSWD: ALL

반면 doas에서는 구문이 훨씬 더 이해하기 쉽습니다.

permit nopass :wheel as root
Doas 란 무엇이며 설치 방법

또한 doas는 구성을 수정하기 위해 visudo와 같은 특별한 로더 프로그램이 필요하지 않습니다. 사용자는 텍스트 편집기로 구성 파일을 편집하기만 하면 되며 사용자에게 충분한 권한이 있는 한 구성을 변경할 수 있습니다.

이렇게 하면 dos를 더 쉽게 이해하고 이해할 수 있습니다. 권한이 있는 사용자 및 그룹을 생성하기 위한 단순하고 단순한 접근 방식을 통해 사용자는 프로세스를 투명하고 오류 없이 수행할 수 있습니다.

sudo로 doas를 설정하는 방법

Linux 시스템을 사용하는 경우 권한 상승 프로그램으로 이미 sudo를 사용하고 있을 가능성이 높으며, 이는 doas 설치를 비교적 간단하게 만듭니다.

Debian 및 Ubuntu에서는 apt를 사용하여 doas를 설치할 수 있습니다.

sudo apt install doas

Arch Linux에서는 pacman을 사용할 수 있습니다.

sudo pacman -Syu opendoas

Fedora에서는 dnf:

를 사용할 수 있습니다.
sudo dnf install opendoas

Void Linux의 경우 xbps를 사용할 수 있습니다.

sudo xbps-install opendoas

제 경우에는 Void Linux에 doas를 설치하고 있으므로 XBPS를 사용하고 있습니다.

Doas 란 무엇이며 설치 방법

doas 구성 파일

doas가 설치되면 su를 사용하여 루트 사용자로 전환하여 "/etc/doas.conf" 파일을 편집할 수 있습니다.

su --command="nano /etc/doas.conf"

Su는 루트 암호를 묻고 그 후에 nano를 사용하여 구성 파일을 열거나 생성합니다.

Doas 란 무엇이며 설치 방법

완료되면 "doas.conf"가 비어 있음을 알 수 있습니다. 이것은 visudo와 완전히 다릅니다. 그러나 앞서 논의한 바와 같이 doas를 구성하는 것은 비교적 간단합니다.

구성 구문

doas.conf의 구문은 다음과 같습니다.

permit|deny [options] identity [as target] [cmd command [args ...]]
  • 허가 거부 doas가 규칙을 허용할지 여부를 설정합니다.
  • 옵션 doas에 대한 추가 구성입니다. 일반 사용자에게 가장 유용한 옵션은 지속적입니다. 및 노패스 .
  • 신원 dos를 실행하는 사용자 또는 그룹입니다.
  • 타겟 "Identity"를 실행할 수 있거나 실행할 수 없는 사용자입니다.
  • cmd "Identity"가 "대상으로" 실행할 수 있거나 실행할 수 없는 명령입니다. 기본값은 모든 프로그램이지만 이 필드에서 특정 프로그램을 지정할 수 있습니다.
  • 인수 지정한 명령에 특정한 인수입니다.

예를 들어 다음을 작성하면 wheel 그룹의 모든 사용자가 루트로 명령을 실행할 수 있습니다. 루트 셸도 창이 닫힐 때까지 유지됩니다.

permit persist :wheel as root

특정 명령에 대해 특정 사용자만 대상으로 하는 규칙을 생성할 수도 있습니다. 예를 들어, 다음 규칙을 사용하여 사용자 "bob"이 암호를 묻지 않고 루트로 "apt" 프로그램을 실행하도록 할 수 있습니다.

permit nopass bob as root cmd apt

제 경우에는 "wheel" 그룹이 암호 없이 루트로 실행되기를 원합니다. 또한 wheel 그룹의 일부인 사용자 aga가 모든 명령을 루트로 실행하는 것을 원하지 않습니다. 따라서 "/etc/doas.conf"에 다음을 작성하겠습니다.

permit nopass :wheel as root
deny aga as root
Doas 란 무엇이며 설치 방법

사후 구성

그 후에 doas가 의도한 대로 작동하는지 확인하기 위해 몇 가지 명령을 실행해야 합니다. 먼저 doas.conf의 소유자를 root로 적절하게 설정해야 합니다.

sudo chown -c root:root /etc/doas.conf

또한 루트 사용자만 파일에 액세스할 수 있도록 구성 파일의 파일 권한을 0644로 설정해야 합니다.

sudo chmod -c 0644 /etc/doas.conf

마지막으로 구성 내에서 구문 오류가 있는지 dos 자체를 확인해야 합니다. 이렇게 하려면 다음 명령을 실행하십시오.

sudo doas -C /etc/doas.conf && echo "OK" || echo "ERROR"
Doas 란 무엇이며 설치 방법

축하합니다! 시스템에 대한 doas를 성공적으로 설치하고 구성했습니다. 이제 sudo 대신 doas를 사용하거나 원하는 대로 doas.conf 파일을 미세 조정할 수 있습니다. Linux의 시스템 관리에 대한 자세한 내용은 이 문서를 참조하세요.

자주 묻는 질문(FAQ)

1. 내 구성이 작동하지 않는 것 같습니다. 특정 사용자에 대한 규칙과 일반 ​​규칙을 추가했지만 사용자에 대한 규칙이 작동하지 않는 것 같습니다.

doas 구성 파일은 가장 일반적인 규칙부터 가장 구체적인 규칙까지 작동합니다. 구성이 작동하려면 먼저 모든 사용자에게 적용되는 규칙을 지정해야 합니다. 그런 다음 그 아래에 있는 단일 사용자를 대상으로 하는 규칙을 지정할 수 있습니다.

2. 동일한 시스템에서 sudo와 doas를 유지할 수 있습니까?

예! Doas와 sudo는 다른 프로그램입니다. 서로 충돌하지 않으며 시스템에 sudo를 남겨두고 doas를 사용하는 것이 좋습니다.

3. doas를 사용하여 루트 쉘을 얻을 수 있습니까?

예, 구성 파일을 올바르게 구성한 경우에 한합니다. doas -s를 실행하여 루트 셸을 시작할 수 있습니다. .