Имейте корневой доступ, все еще разрешение, отклоненное после использования команды кошки [дубликат]

1
задан 24 October 2019 в 14:30

2 ответа

Попытайтесь войти в систему как суперпользователь с

sudo -s

и затем попробуйте свою команду снова без sudo в начале.

причина, почему это не работает, состоит в том, потому что перенаправление сделано оболочкой а не кошкой. См. этот ответ для получения дополнительной информации: https://askubuntu.com/a/230482

0
ответ дан 7 December 2019 в 14:57

Когда sudo cat a выполняется, файл , содержание было считано и распечатано на stdout с sudo полномочия. Перенаправление текста было обработано оболочкой и будет добавлено в файл b (так как >> использовался). В данном случае кажется, что файл не имел разрешения, которое будет изменено несуперпользователем.

, Хотя выполняя оболочку, поскольку корень с помощью sudo su, sudo -i или sudo -s, кажется, хорошая идея преодолеть это ограничение, , но это не предлагается. Это могло бы произойти, который оболочка выполняла с sudo полномочия и невольно не выходя из корневой оболочки, некоторая другая команда используется. И если та команда вводится с опечаткой, она может нанести серьезный ущерб системе.

В таких случаях, cat вывод может быть передан по каналу, и tee может использоваться. Это - утилита, которые читают вход из стандартного входа и выводов в файл и стандартный вывод. Так как Вы хотите добавить файл, -a, опция может использоваться. Поэтому команда будет похожа:

sudo cat f84e19a2f44c6386.crt gd_bundle-g2-g1.crt | sudo tee -a coolexample.crt

я предположил, что f84e19a2f44c6386.crt и gd_bundle-g2-g1.crt не имел полномочий, которые будут считаны обычными пользователями .

1
ответ дан 7 December 2019 в 14:57

Другие вопросы по тегам:

Похожие вопросы: