Russian Qt Forum
Май 15, 2024, 20:28 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QFile c произвольными правами доступа  (Прочитано 4879 раз)
DenKor
Гость
« : Август 25, 2005, 06:49 »

Каким образом можно открыть файл в Windows из qt с правами заданного пользователя (не текущего)
Записан
Hellenna
Гость
« Ответ #1 : Август 25, 2005, 13:32 »

сменить индертификатор процесса, открыть файл, сменить назад.
Как это сделать в винде не знаю.
Записан
DenKor
Гость
« Ответ #2 : Август 25, 2005, 15:21 »

А примерчик на qt можно  :?
Записан
Hellenna
Гость
« Ответ #3 : Август 25, 2005, 21:46 »

Цитата: "DenKor"
А примерчик на qt можно  :?

для линукса?
пожалуйста:
Код:

//сохраняем значения
int gid=getgid();
int uid= getuid();
setuid(идентификатор_нужного_пользователя);
setgid(идентификатор_нужной_группы);

//выполняем нужные операции с файлом (код из asistant)
QString mgs="message";
QFile f;
f.open( IO_WriteOnly, stderr );
f.writeBlock( msg, qstrlen(msg) );      // write to stderr
f.close();

//возвращаем старые идентификаторы
setuid(uid);
setgid(gid);

в линуксе есть еще понятие эффективного идентификатора пользователя и группы (ставится и получается коммандами set{get}euid{egid}).
в винде должны быть функции аналогичные setuid, но их названий я не знаю (давненько винду вообще в глаза не видела Улыбающийся )
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.232 секунд. Запросов: 20.