.sudo
apache2
date -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
해결책은 가장 간단합니다.