Возможность записи файла зависит от прав доступа к файлу , которые были назначены этому файлу или, если файл не существует, но вы хотите создать новый файл, тогда разрешения для каталогав котором вы хотите написать файл.Если вы используете sudo, то вы временно становитесь пользователем root, и пользователь root может читать / записывать / выполнять любой файл вообще без ограничений.
Если вы сначала запускаете скрипт с использованием sudo, и скрипт заканчиваетсясоздавая файл, этот файл, вероятно, будет принадлежать пользователю root и не будет доступен для записи обычному пользователю.Если вы запустите свой скрипт без использования sudo, он будет работать под именем пользователя, которое вы использовали для подключения к машине, и у этого пользователя должно быть разрешение на запись файлов журнала.
Вы можете изменить владельца иправа доступа к каталогам и файлам с помощью команд chown, chmod, chgrp.Если вы хотите всегда запускать свой скрипт как sudo, вам не о чем беспокоиться.Если вы хотите запускать эти команды без sudo, это означает, что вы запускаете их как какой-то другой пользователь, и вам нужно дать разрешение на запись этому пользователю, кем бы он ни был, для записи файлов / папок, куда попадают файлы журнала.Написано.
Например, если бы я хотел запустить скрипт от имени пользователя sneakyimp и хотел, чтобы файлы были записаны в / home / sneakyimp / logs /, то мне нужно было бы убедиться, что этот каталогбыл доступен для записи sneakyimp:
sudo chown -R sneakyimp:sneakyimp /home/sneakyimp/logs
Эта команда меняет владельца этого каталога и его содержимого на пользователя sneakyimp.Вам также может понадобиться запустить некоторые команды chmod, чтобы убедиться, что владелец может их записать.