sudo를 사용하지 않고 사용자에게 특정 권한을 부여할 수 있습니까?

sudo를 사용하지 않고 사용자에게 특정 권한을 부여할 수 있습니까?

.sudoapache2date -s TIME

설치 및 구성하지 않고 이 권한을 부여할 수 있는 방법이 있습니까 sudo?

답변1

이를 수행하는 두 가지 방법을 생각할 수 있습니다.

두 경우 모두 원하는 작업(예: 호출 stime(2))을 수행하는 프로그램을 작성하고 컴파일해야 합니다. 직접 전화할 수는 없습니다 date.

www-data그리고 apache2(?)를 실행하는 사용자만 포함하는 그룹이 필요합니다 . 두 경우 모두 프로그램 실행 기능을 특정 그룹으로 제한하므로 다른 사람이 실행할 수 없습니다.

옵션 1: setuid 루트로 만들기

chown root.thegroup yourprogram
chmod 4710 yourprogram

이제 그룹 내의 사람들만 프로그램을 실행할 수 있으며 효과적인 루트로 실행됩니다.

옵션 2: 기능 사용

chown root.thegroup yourprogram
chmod 710 yourprogram
setcap cap_sys_time=pe yourprogram

이는 프로그램에 루트 권한 없이 settimeofday(2), stime(2) 및 adjtimex(2)를 호출할 수 있는 권한을 부여합니다.

하지만 sudo해결책은 가장 간단합니다.

관련 정보