Вопрос распространение разрешений при сбрасывании текста в файл


Если я сделаю:

sudo mysqldump --default-character-set=utf8 -u root -pwelcome1 mydb > dump.sql

Я получил:

-bash: dump.sql: Permission non accordée

Однако если я sudo в su во-первых, он отлично работает. Кажется, что sudo не распространяется на > команда.

Как я могу это исправить?


2
2018-06-17 21:23


происхождения




ответы:


Вы можете выполнить bash shell (помните полный путь) квотирование "" вся ваша команда в качестве аргумента с опцией -c 

sudo /bin/bash -c "mysqldump --default-character-set=utf8 -u root -pwelcome1 mydb > dump.sql"

2
2018-06-17 22:01



хорошо, я этого не знал. Это работает, спасибо. Почему я должен это делать? - Sam
Я считаю, что когда вы вызываете команду sudo в виде обычный пользователь, sudo называет то, что следует, но перенаправление вывода > является перенаправление sudo , поэтому он принадлежит к обычный пользователь, Конечно, это только способ сделать это. например ты можешь свалка файл, в котором вы имеете право писать. (... >/home/Sam/dump.sql) - Hastur