Russian Qt Forum
Ноябрь 24, 2024, 18:56
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
[Qt 4.x.x Linux] Глобальные настойки приложения
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: [Qt 4.x.x Linux] Глобальные настойки приложения (Прочитано 5934 раз)
vregess
Гость
[Qt 4.x.x Linux] Глобальные настойки приложения
«
:
Август 22, 2007, 13:26 »
Нужно организовать работу с настройками прользователей и глобальными настройками приложения:
- настройки пользователей в ~/myapp;
- глобальные настройки в /etc/myapp или /usr/share/myapp;
Использую QSettings.
Для пользовательских - все норм., а для глобальных не хватает прав доступа.
При использовании QSettings::SystemScope запись в глобальные настройки запрещена...
Можно ли средствами qt добиться записи в системные дирректории? или самому делать?
Записан
-QT-
Гость
Re: [Qt 4.x.x Linux] Глобальные настойки приложения
«
Ответ #1 :
Август 22, 2007, 13:41 »
Как мне кажется, настройки лучше хранить в /usr/share/myapp
А не записывает потому что права необходимо установить на файл изначально наверное.
Или запускать это приложение с правами необходимыми для работы в нужной папке.
Пример такой работы - PostgreSQL.
Записан
Admin
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1988
Re: [Qt 4.x.x Linux] Глобальные настойки приложения
«
Ответ #2 :
Август 24, 2007, 09:14 »
Обычно делается так - раз глобальные, то пишется туда где только root может менять - соотвественно для root отдельный модуль для изменнения этих параметров - а остальным только их читать
Записан
vregess
Гость
Re: [Qt 4.x.x Linux] Глобальные настойки приложения
«
Ответ #3 :
Август 25, 2007, 06:09 »
Цитата: Admin от Август 24, 2007, 09:14
Обычно делается так - раз глобальные, то пишется туда где только root может менять - соотвественно для root отдельный модуль для изменнения этих параметров - а остальным только их читать
Да, так и собрался делать.
Глобальные в /etc/myprog или /usr/share/myprog (пока еще не решил).
Вопрос в том как реализовать этот модуль работы с такимим настройками. Те полусается суть - как программно изменить права доступа программы (временно)?
Записан
vaprele07
Гость
Re: [Qt 4.x.x Linux] Глобальные настойки приложения
«
Ответ #4 :
Август 25, 2007, 08:57 »
Можно так: выносишь модуль настроек в отдельное приложение и потом gksu kdesu sudo, в общем нужно все это дело в отдельном процессе.
Записан
vregess
Гость
Re: [Qt 4.x.x Linux] Глобальные настойки приложения
«
Ответ #5 :
Август 25, 2007, 11:18 »
наод подумать...
Вообще, из-за чего появилась необходимость хранения глобальных настроек: просто нужно ограничить
доступ к одному из плагинов программы. Я решил это сделать при помощи запроса пароля. Вот и решил хранить
пароль в каком-нить файле в системной дирректории.
Под виндами там, вроде, проще... и как-то не задумывался сначала об этом.
А потом порт на *nix вот и встала проблема.
А в отдельное приложение вынести тут не получится, наверное.
Записан
vaprele07
Гость
Re: [Qt 4.x.x Linux] Глобальные настойки приложения
«
Ответ #6 :
Август 25, 2007, 12:15 »
Зачем тогда заморачиваться
создай массив размером 32 байта в первый с генерируй число от 1 до 27, запиши контрольные 4 байта по порядку в соответствующую позицию, в остальные пихани всякий мусор. Затем возьми мд5 хеш от пароля и хором по массиву, массив запиши в локальные настройки и радуйся. Иба твоя защита, глобальная-локальная, ломается одинаково. Предполагается, что в программе будет задан пароль по умолчанию, т.е. если не проходит проверка пароля по умолчанию вылетает окно запроса пароля.
Записан
vregess
Гость
Re: [Qt 4.x.x Linux] Глобальные настойки приложения
«
Ответ #7 :
Август 26, 2007, 21:17 »
Цитата: vaprele07 от Август 25, 2007, 12:15
Предполагается, что в программе будет задан пароль по умолчанию, т.е. если не проходит проверка пароля по умолчанию вылетает окно запроса пароля.
Неудобно.
User1 знает пароль.
User2 знает пароль.
User1 сменил пароль.
User2 не знает пароль)
Каким образом можно добиться этого, как не глобальной настройкой?
Записан
vaprele07
Гость
Re: [Qt 4.x.x Linux] Глобальные настойки приложения
«
Ответ #8 :
Август 27, 2007, 02:27 »
Цитата: vregess от Август 26, 2007, 21:17
User1 знает пароль.
User2 знает пароль.
User1 сменил пароль.
User2 не знает пароль)
Каким образом можно добиться этого, как не глобальной настройкой?
Глобальной можно в таких вариантах:
1. User1 знает пароль на рута
2. работать через демона паролей, который запущен из под рута, до твоей программы.
Я так понял у тебя все юзеры лазают под одной учеткой? иначе хватало бы пароля на учетку и прав 600 на конфиг юзера. В принципе QSettings так и делает.
Записан
vregess
Гость
Re: [Qt 4.x.x Linux] Глобальные настойки приложения
«
Ответ #9 :
Август 27, 2007, 08:37 »
Цитата: vaprele07 от Август 27, 2007, 02:27
Глобальной можно в таких вариантах:
1. User1 знает пароль на рута
2. работать через демона паролей, который запущен из под рута, до твоей программы.
Я так понял у тебя все юзеры лазают под одной учеткой? иначе хватало бы пароля на учетку и прав 600 на конфиг юзера. В принципе QSettings так и делает.
Нет. Пользователи лазят каждый под своим аккаунтом. В чем и вся проблема.
Я тут подумал, и решил пароль хранить совсем в другом месте)
Прога предназначена для настройки оборудования по протоколу modbus. Возможно. лучше хранить пароль в самом устройстве и по необходимости запрашивать его у самого устройства.
Тогда все должны быть довольны.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...