Название: [Qt 4.x.x Linux] Глобальные настойки приложения Отправлено: vregess от Август 22, 2007, 13:26 Нужно организовать работу с настройками прользователей и глобальными настройками приложения:
- настройки пользователей в ~/myapp; - глобальные настройки в /etc/myapp или /usr/share/myapp; Использую QSettings. Для пользовательских - все норм., а для глобальных не хватает прав доступа. При использовании QSettings::SystemScope запись в глобальные настройки запрещена... Можно ли средствами qt добиться записи в системные дирректории? или самому делать? Название: Re: [Qt 4.x.x Linux] Глобальные настойки приложения Отправлено: -QT- от Август 22, 2007, 13:41 Как мне кажется, настройки лучше хранить в /usr/share/myapp
А не записывает потому что права необходимо установить на файл изначально наверное. Или запускать это приложение с правами необходимыми для работы в нужной папке. Пример такой работы - PostgreSQL. Название: Re: [Qt 4.x.x Linux] Глобальные настойки приложения Отправлено: Admin от Август 24, 2007, 09:14 Обычно делается так - раз глобальные, то пишется туда где только root может менять - соотвественно для root отдельный модуль для изменнения этих параметров - а остальным только их читать
Название: Re: [Qt 4.x.x Linux] Глобальные настойки приложения Отправлено: vregess от Август 25, 2007, 06:09 Обычно делается так - раз глобальные, то пишется туда где только root может менять - соотвественно для root отдельный модуль для изменнения этих параметров - а остальным только их читать Да, так и собрался делать. Глобальные в /etc/myprog или /usr/share/myprog (пока еще не решил). Вопрос в том как реализовать этот модуль работы с такимим настройками. Те полусается суть - как программно изменить права доступа программы (временно)? Название: Re: [Qt 4.x.x Linux] Глобальные настойки приложения Отправлено: vaprele07 от Август 25, 2007, 08:57 Можно так: выносишь модуль настроек в отдельное приложение и потом gksu kdesu sudo, в общем нужно все это дело в отдельном процессе.
Название: Re: [Qt 4.x.x Linux] Глобальные настойки приложения Отправлено: vregess от Август 25, 2007, 11:18 наод подумать...
Вообще, из-за чего появилась необходимость хранения глобальных настроек: просто нужно ограничить доступ к одному из плагинов программы. Я решил это сделать при помощи запроса пароля. Вот и решил хранить пароль в каком-нить файле в системной дирректории. Под виндами там, вроде, проще... и как-то не задумывался сначала об этом. А потом порт на *nix вот и встала проблема. А в отдельное приложение вынести тут не получится, наверное. Название: Re: [Qt 4.x.x Linux] Глобальные настойки приложения Отправлено: vaprele07 от Август 25, 2007, 12:15 Зачем тогда заморачиваться :o создай массив размером 32 байта в первый с генерируй число от 1 до 27, запиши контрольные 4 байта по порядку в соответствующую позицию, в остальные пихани всякий мусор. Затем возьми мд5 хеш от пароля и хором по массиву, массив запиши в локальные настройки и радуйся. Иба твоя защита, глобальная-локальная, ломается одинаково. Предполагается, что в программе будет задан пароль по умолчанию, т.е. если не проходит проверка пароля по умолчанию вылетает окно запроса пароля.
Название: Re: [Qt 4.x.x Linux] Глобальные настойки приложения Отправлено: vregess от Август 26, 2007, 21:17 Предполагается, что в программе будет задан пароль по умолчанию, т.е. если не проходит проверка пароля по умолчанию вылетает окно запроса пароля. Неудобно. User1 знает пароль. User2 знает пароль. User1 сменил пароль. User2 не знает пароль) Каким образом можно добиться этого, как не глобальной настройкой? Название: Re: [Qt 4.x.x Linux] Глобальные настойки приложения Отправлено: vaprele07 от Август 27, 2007, 02:27 User1 знает пароль. User2 знает пароль. User1 сменил пароль. User2 не знает пароль) Каким образом можно добиться этого, как не глобальной настройкой? Глобальной можно в таких вариантах: 1. User1 знает пароль на рута 2. работать через демона паролей, который запущен из под рута, до твоей программы. Я так понял у тебя все юзеры лазают под одной учеткой? иначе хватало бы пароля на учетку и прав 600 на конфиг юзера. В принципе QSettings так и делает. Название: Re: [Qt 4.x.x Linux] Глобальные настойки приложения Отправлено: vregess от Август 27, 2007, 08:37 Глобальной можно в таких вариантах: 1. User1 знает пароль на рута 2. работать через демона паролей, который запущен из под рута, до твоей программы. Я так понял у тебя все юзеры лазают под одной учеткой? иначе хватало бы пароля на учетку и прав 600 на конфиг юзера. В принципе QSettings так и делает. Нет. Пользователи лазят каждый под своим аккаунтом. В чем и вся проблема. Я тут подумал, и решил пароль хранить совсем в другом месте) Прога предназначена для настройки оборудования по протоколу modbus. Возможно. лучше хранить пароль в самом устройстве и по необходимости запрашивать его у самого устройства. Тогда все должны быть довольны. |