스도

스도

높은 권한이 필요한 사용자가 어떤 종류의 루트 셸도 얻지 못하도록 하고 싶습니다. 그러나 이를 달성하는 방법은 다양하고 루트가 아닌 명령(예: coreutils의 명령)이 많기 때문에 제한적인 액세스를 제공하는 다운로드 가능한 sudoers 정책이 있는지 궁금합니다.

답변1

스도

개요

sudo를 사용하면 사용자 및 그룹에 슈퍼유저 권한을 부여할 수 있습니다. sudo의 구성 파일은 다음에서 찾을 수 있습니다./etc/sudoers. 일반적으로 사람들은 다음 명령을 사용하여 sudoers 파일을 편집합니다.비쥬도. 기본적으로 활성화됨최대배포에서는 어떤 사용자에게도 sudo 권한이 부여되지 않거나 처음 생성된 사용자에게 그러한 권한이 부여됩니다. 이후에 생성된 사용자는 일반적으로 sudo 권한이 없습니다.

유연성

sudo를 사용하면 각 사용자에게 서로 다른 설정을 제공하고 사용자 그룹에 설정을 적용할 수도 있습니다. 예를 들어, 사용자에게 다음을 제공할 수 있습니다.행정또는 그룹관리자슈퍼유저 권한으로 접근하세요.

이러한 사용자의 액세스를 허용할 수도 있습니다.구체적인 계획. 예를 들어, 다음과 같이 줄 수 있습니다.단발sudo 액세스적절한Bob을 신뢰하여 시스템에 패키지를 설치하고 패키지를 업데이트하는 경우.

귀하의 시스템에는 sudoers 파일이 있을 가능성이 높으며, 이 경우 해당 파일을 열고 제공된 예제를 볼 수 있습니다. 여기서는 문제를 명확히 할 수 있는 예를 보여 드리겠습니다.

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) NOPASSWD:ALL

이렇게 하면 그룹의 모든 사용자가 허용됩니다.스도비밀번호를 묻지 않고 어디서나 명령을 실행할 수 있는 권한입니다. 사용자는 먼저 인증(즉, 로그인)을 해야 하지만, 일단 인증이 이루어지면 해당 사용자는 시스템에 대한 루트 액세스 권한을 갖게 됩니다.

너무 길어요.

대부분의 배포판은 초기 사용자에게 sudo 액세스 권한을 제공하지만 이후에 생성된 사용자는 그러한 액세스 권한을 받지 못합니다. 이를 살펴보면 확인할 수 있습니다./etc/sudoers. 사용자가 sudoers 파일을 통해 sudo에 액세스할 수 없도록 하여 어떤 사용자도 sudo를 통해 루트 셸을 얻을 수 없도록 하세요.

답변2

질문을 이해했는지 잘 모르겠습니다. 그러나 일부 사용자에게 프로그램 실행을 위한 루트 권한(sudo 등을 통해)을 부여하고 해당 프로그램이 우연히 동일한 권한으로 셸에 대한 액세스를 제공하는 경우 해당 프로그램으로 아무 것도 할 수 없습니다.

특정 프로그램을 실행하기 위해 특정 권한을 부여할 때 프로그램이 문제를 일으키지 않을 것이라고 믿어야 합니다(물론 사용자를 정말로 신뢰하지 않는 한).

답변3

다음과 같은 것을 찾고 계십니까?

# Allow members of group sudo to execute any command
username  ALL = ALL, !/bin/sh, !/bin/bash, !/bin/tcsh, !/bin/csh, !/bin/ksh, !/bin/zsh, !/bin/su

관련 정보