Câu hỏi cho phép tuyên truyền khi bán văn bản vào tệp


Nếu tôi làm:

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

Tôi có:

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

Tuy nhiên nếu tôi sudo đến su đầu tiên, nó hoạt động tốt. Có vẻ như sudo không lan truyền đến > chỉ huy.

Làm thế nào tôi có thể sửa lỗi này?


2
2018-06-17 21:23


gốc




Các câu trả lời:


Bạn có thể thực thi bash vỏ (nhớ đường dẫn đầy đủ) trích dẫn "" tất cả lệnh của bạn làm đối số với tùy chọn -c 

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

2
2018-06-17 22:01



ok, tôi không biết điều đó. Nó hoạt động, cảm ơn. Tại sao tôi phải làm vậy? - Sam
Tôi tin rằng khi bạn gọi lệnh sudo như người dùng bình thường, sudo gọi nó là gì, nhưng chuyển hướng đầu ra > là sự chuyển hướng của sudo lệnh, vì vậy nó thuộc về người dùng bình thường. Tất nhiên nó chỉ là một cách để làm điều đó. ví dụ. bạn có thể đổ tệp mà bạn có quyền viết. (... >/home/Sam/dump.sql) - Hastur