我需要清空在Debian Wheezy VM上运行的python脚本中的linux缓冲区高速缓存。
sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
以root身份运行,但是脚本由用户运行,没有root特权。
我想到了以下可能性:
/proc/sys/vm/drop_caches
(这似乎不起作用,因为我得到时不允许操作chmod 646 /proc/sys/vm/drop_caches
)tee
,这应该工作,但随后用户可以去apesh * T与tee
解决此问题的最明智的方法是什么?
在您的列表中,只有第四个可能性(在安全目录中编写一个小的setuid脚本,例如/usr/local/bin
,用户无法更改)可能会起作用并且可能是安全的,但如今,该可能性经常被发行版禁用。
更好的选择是将以下行添加到/ etc / sudoers中(visudo
为此使用例如)
YOURUSERNAME ALL = NOPASSWD: /sbin/sysctl vm.drop_caches=3
然后包含这行
sudo /sbin/sysctl vm.drop_caches=3
在您的脚本中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句