특정 사용자가 다음 명령에 액세스하도록 허용해야 합니다.
sudo sync
echo 3 | sudo tee /proc/sys/vm/drop_caches
(이 특정 개발자는 일부 데이터베이스 성능 테스트를 수행하고 있으며 fs 캐시를 플러시하여 더 명확한 수치를 제공하므로 이 명령을 사용하는 이유에 대해서는 언급하지 마십시오.)
sudo를 사용하여 사용자를 다음과 같은 매우 구체적인 명령으로 제한할 수 있습니까 tee /proc/sys/vm/drop_caches
?
내가 이해하는 한, 명령 자체로만 제한할 수 있습니다 tee
. 그러나 나는 사용자 tee
가 원하는 것을 루트로 사용할 수 있는 기능을 제공하고 싶지 않습니다 .
또 다른 옵션은 특정 파일에 대한 쓰기 액세스 권한을 부여하는 것이지만 관리자가 아닌 일부에게 파일에 대한 쓰기 액세스 권한을 부여한다는 미친 이야기입니까 /proc
?
이를 제한하는 가장 좋은 방법에 대한 조언이나 아이디어를 주시면 감사하겠습니다.
답변1
Sudo는 명령줄 인수를 허용합니다. 따라서 매개변수가 /proc/sys/vm/drop_caches일 때 tee가 허용되도록 sudoers 파일을 변경할 수 있지만 그 밖의 모든 경우에는 sudo가 실행을 거부합니다. 더 엄격한 적용을 원할 경우 더 엄격한 권한을 사용하여 /usr/bin 또는 /usr/local/bin 어딘가에 깔끔한 쉘 스크립트 대체를 배치한 다음 sudoers 구성에서 사용자가 해당 특정 위치에서 루트로 스크립트 중재자를 실행하도록 허용합니다.