옵션이나 매개변수를 사용하지 않고 sudoers 파일의 명령을 제한할 수 있습니까?

옵션이나 매개변수를 사용하지 않고 sudoers 파일의 명령을 제한할 수 있습니까?

sudoers파일 에서 옵션 없이 실행 중인 명령을 제한할 수 있습니다.

예를 들어 /bin/su실패하고 su4자를 초과하는 모든 항목이 실행되어야 합니다. 예:

sudo su daniel

실행해야

michael ALL=(ALL) NOPASSWD:ALL, /bin/su [a-z]{5,}

이 용어를 사용해 보세요

어쨌든 이것을 달성 할 수 있습니까?

답변1

sudoers 명령 사양에 와일드카드 문자를 사용할 수 있습니다. /bin/su5개의 소문자로 시작하고 그 뒤에 임의 개수의 다른 인수가 오는 인수로만 실행을 허용하려면 다음을 사용할 수 있습니다 .

michael ALL=(ALL) NOPASSWD: /bin/su [a-z][a-z][a-z][a-z][a-z]*

가변 길이 문자열과 일치할 수 있는 유일한 와일드카드는 *인수 경계와도 일치하므로 인수가 고정 크기가 아닌 한 단일 인수로 제한할 수 없습니다.

더 복잡한 규칙이 필요한 경우 래퍼 스크립트 실행을 허용하고 래퍼 스크립트에서 매개변수 검사를 수행하도록 sudo를 구성합니다.

…: ALL, /bin/su …임의의 명령이 이미 허용되어 있으므로 의미가 없습니다 ALL. 와 같습니다 …: ALL.

sudoers 구성에서 원하는 의미가 무엇인지 명확하지 않습니다.목표보다는 구체적인 구현에 중점을 둡니다.. Michael이 비밀번호 없이 일부 사용자로서 임의의 명령을 실행하도록 허용하려는 경우 호출은 su이상한 간접 방법입니다. sudo는 이미 권한을 높였습니다. 왜 여전히 su를 사용해야 합니까? 일련의 사용자를 정의하고 Michael이 이들 중 하나로 임의의 명령을 실행할 수 있도록 허용합니다.

User_Alias target_users = alice, charlie, dominique
michael ALL = (target_users) NOPASSWD: ALL

관련 정보