Da sua lista, apenas a quarta possibilidade (escrever um pequeno script setuid em um diretório seguro, por exemplo, /usr/local/bin
não alterável pelo usuário) pode funcionar e pode ser segura, mas hoje em dia é frequente desativado pela distribuição.
A opção mais fácil e melhor é adicionar a seguinte linha ao / etc / sudoers (use, por exemplo, visudo
para isso)
YOURUSERNAME ALL = NOPASSWD: /sbin/sysctl vm.drop_caches=3
e, em seguida, inclua a linha
sudo /sbin/sysctl vm.drop_caches=3
no seu script.