На этот вопрос уже есть ответ здесь:
Я хотел бы написать программное обеспечение, и это программное обеспечение имеет для сохранения файлов в / usr / share / xy /
. Программное обеспечение будет записывать и читать эти данные с помощью fprintf ()
и fscanf ()
. Владелец каталога / xy /
- root, и группа тоже. Теперь я запускаю программное обеспечение с помощью sudo
в файле .desktop
.
Теперь у меня вопрос, можно ли их запустить без пароля. Насколько большие программы позволяют сохранять данные в фоновом режиме?
Спасибо Пока Ник
Ваша программа не должна использовать /usr/share/xy/
, чтобы сохранить файлы по умолчанию. Вместо этого это должно использовать $XDG_DATA_HOME/xy
(с $XDG_DATA_HOME
, как определено в Спецификация Базового каталога XDG).
Это избегает Ваших проблем разрешения и проблем в пользовательских средах.
Понятие записи в корневую папку как типичный пользователь является просто плохой идеей с точки зрения безопасности.
Приложения никогда не должны писать в /usr/share/xy
.
Стандартные приложения должны записать в пользовательскую папку - что-то как ~/.config/xy
или ~/.cache/xy
, Stackoverflow имеет Q& для нахождения папки дома - Вам просто нужно к strcat
или .config или .cache, тест, если подпапка xy там и если не создают ту папку прежде, чем записать в папку.