А примерчик на 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, но их названий я не знаю (давненько винду вообще в глаза не видела
)