Имею root-доступ, но при использовании команды cat доступ по-прежнему запрещен

Имею root-доступ, но при использовании команды cat доступ по-прежнему запрещен

Я пытался установить SSL-сертификат (GoDaddy), следуя их инструкциям для nginx на Centos. ZIP-архив, который я скачал с GoDaddy, содержит 3 файла: основной сертификат, промежуточный сертификат и файл PEM.
У меня есть root-доступ к моему Ubuntu VPS.

Но когда я использую

sudo cat f84e19a2f44c6386.crt gd_bundle-g2-g1.crt >> coolexample.crt

я получил

bash: coolexample.crt: Permission denied.  

решение1

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

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

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

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

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

решение2

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

sudo -s

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

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

Связанный контент