Изменение файла из под sudo


ramok аватар

ramok - Posted on 29 Март 2010

Знакомая картина?

$ sudo echo 3 > /proc/sys/vm/drop_caches
-bash: /proc/sys/vm/drop_caches: Permission denied

Хотелось изменить файл, и sudo настроен, а тут такой облом.. В чем же дело?
В дело в том что шел открывает файл перенаправления > _до_ того как запускается сама команда.
Соответственно файл открывается с текущими правами, не с теми что дает sudo.

Решение в лоб:

$ sudo -s
# echo 3 > /proc/sys/vm/drop_caches

или решение "по умнее"

$ echo 3 | sudo tee /proc/sys/vm/drop_caches
0
Ваша оценка: Ничего

Ето что, пособие для дебилов?
cat /dev/null | sudo tee /bin/libc.so
cat /dev/null | sudo tee /boot/kernel
Совет из серии cat /dev/ass > /dev/brain
Подобные советы надо удалять

Авторитетно заявил анонимус Ж:-)
Лучше бы что полезное посоветовал, чем испражнятся в коментах.

Да, пора запрещать анонимам оставлять комменты...

$ sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"

Хотя сам предпочитаю второе решение, то что "по умнее" :)

PS: На всякий случай, для тех кто в танке (не все знают про "-a")...

$ echo 3 | sudo tee /proc/sys/vm/drop_caches
$ sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"
$ sudo -s "echo 3 > /proc/sys/vm/drop_caches"

Эти команды перезапишут файл.

$ echo 3 | sudo tee -a /proc/sys/vm/drop_caches
$ sudo sh -c "echo 3 >> /proc/sys/vm/drop_caches"
$ sudo -s "echo 3 >> /proc/sys/vm/drop_caches"

А эти - допишут в конец файла.

sudo -s "echo 3 > /proc/sys/vm/drop_caches"

+1

$ sudo -s 'echo profile > /sys/class/drm/card0/device/power_method'
zsh:1: no such file or directory: echo profile > /sys/class/drm/card0/device/power_method

Отправить комментарий

Google Friend Connect (leave a quick comment)
loading...
Содержание этого поля является приватным и не предназначено к показу.