Go Функция lang ioutil.writeFile, делающая каталоги и файлы доступными только для чтения - PullRequest
0 голосов
/ 27 марта 2020

Я создал программу go для отслеживания всех файлов по пути root и замены указанной исходной строки c целевой строкой после этого, записав обновленное содержимое в существующий файл, и для этого, Я использовал функцию filepath.Walk для отслеживания файлов, а ioutil.ReadFile и ioutil.WriteFile для чтения и записи в файл. Итак, проблема в том, что функция ioutil.WriteFile помечает каталог, подкаталоги и файлы root только для чтения. Я проверил онлайн решение этой проблемы, но не смог найти ничего подходящего. Ниже приведен фрагмент кода того же.

if strings.Contains(data, sourceString) {
                    data = strings.ReplaceAll(data, sourceString, targetStringArray[index])
                    ioutil.WriteFile(path, []byte(data), os.FileMode(0655))
                }

1 Ответ

1 голос
/ 28 марта 2020

Файловый режим 0655 переведен в права доступа rw- rx rx. Эта комбинация разрешений странная, потому что для владельца нет «x», но есть для группы и других. Возможно, вам нужно 0755 (rwx rx rx) для исполняемых файлов или 0644 (rw- r-- r--) для неисполняемых файлов, которые наиболее часто используются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...