sudoers 파일의 권한 구문을 이해하도록 도와주세요.

sudoers 파일의 권한 구문을 이해하도록 도와주세요.

파일 자체를 기반으로:

다음은 주요 부분입니다. 어떤 사용자가 어떤 소프트웨어를 어떤 시스템에서 실행할 수 있는지(sudoers 파일은 여러 시스템 간에 공유될 수 있음)입니다. 통사론:

  user    MACHINE=COMMANDS

좋습니다. 예를 들어 다음과 같습니다.

john.doe ALL=(ALL:ALL) /sbin/ifup, /sbin/ifdown

이는 john.doe가 sudo를 사용하여 ifup 및 ifdown 명령을 실행할 권한이 있음을 의미합니다. 제가 이해하지 못하는 부분은 괄호 안의 부분입니다. 나는 첫 번째가 사용자이고 두 번째가 그룹이라는 것만 알고 있습니다. 하지만 이미 첫 번째 줄에 사용자를 지정했는데 이것이 무슨 소용이 있을까요? 감사해요

답변1

귀하의 예를 분석하면 다음과 같습니다.

  1. 존 도우
  2. 모두 =
  3. (모두:모두)
  4. /sbin/ifup、/sbin/ifdown

(1) 사용자 john.doe는 (2) 컴퓨터 이름에 관계없이 임의의 (ALL) 사용자 ID인 것처럼 가장하거나 임의의 (:ALL) 그룹에 속하여 이러한 명령을 실행할 수 있습니다 (4). 예를 들어 john.doe는 /sbin/ifup원하는 사용자로 명령을 실행합니다.

$ sudo -u vahid2015 /sbin/ifdown eth0

당신은 비난받을 것입니다!

일반적으로 (ALL:ALL) 부분은 필요하지 않으며, 기본값은 가장 일반적인 경우인 루트입니다. 사용자가 명령을 실행해야 한다면 (operator)를 uid로 사용하거나 (:operator)를 gid로 사용하세요.

가능하면 시스템 이름을 지정하는 것이 가장 좋지만 을 사용하면 관리되는 시스템 그룹 전체에서 ALL=공통 파일을 유지 관리할 수 있습니다.sudoers

관련 정보