Название: Авторизация пользователя в Mac OS X [решено] Отправлено: dangreen от Август 10, 2011, 14:16 Дорогие форумчане, а в частности программисты под OS X, как в Qt авторизовать пользователя чтобы, допустим, в QProcess можно было исполнить "sudo rm /..."?
Название: Re: Авторизация пользователя в Mac OS X Отправлено: LisandreL от Август 10, 2011, 15:14 А в чём проблема?
У пользователя нет прав на sudo? Или хотите без интерактивного ввода пароля? Название: Re: Авторизация пользователя в Mac OS X Отправлено: dangreen от Август 10, 2011, 15:25 А в чём проблема? У пользователя нет прав на sudo? Или хотите без интерактивного ввода пароля? где взять то интерактивный ввод пароля? QProcess::start("sudo su"); не выводит запрашивание пароля если писать QProcess::start("sudo su"); QProcess::waitForReadAll();QProcess::start(pass); - то пахать не будит Название: Re: Авторизация пользователя в Mac OS X Отправлено: Пантер от Август 10, 2011, 15:26 В Линухе есть всякие kdesu. Может и в Маке есть.
Название: Re: Авторизация пользователя в Mac OS X Отправлено: dangreen от Август 10, 2011, 15:33 В Линухе есть всякие kdesu. Может и в Маке есть. найтит такого не могу :-[ Название: Re: Авторизация пользователя в Mac OS X Отправлено: kambala от Август 10, 2011, 15:51 http://developer.apple.com/library/mac/#documentation/Security/Conceptual/authorization_concepts/01introduction/introduction.html
Название: Re: Авторизация пользователя в Mac OS X Отправлено: dangreen от Август 10, 2011, 15:56 http://developer.apple.com/library/mac/#documentation/Security/Conceptual/authorization_concepts/01introduction/introduction.html круто конечно, но это для Xcode Название: Re: Авторизация пользователя в Mac OS X Отправлено: wolfut от Август 10, 2011, 16:01 Можно попробовать установить suid бит приложению:
sudo chown -R root:wheel /Applications/<appname>.app/Contents/MacOS/<appname> sudo chmod 4755 /Applications/<appname>r.app/Contents/MacOS/<appname> Название: Re: Авторизация пользователя в Mac OS X Отправлено: dangreen от Август 10, 2011, 16:03 Можно попробовать установить suid бит приложению: sudo chown -R root:wheel /Applications/<appname>.app/Contents/MacOS/<appname> sudo chmod 4755 /Applications/<appname>r.app/Contents/MacOS/<appname> ну сделаю я так, перенесу прогу на другой комп, suid слетит Название: Re: Авторизация пользователя в Mac OS X Отправлено: wolfut от Август 10, 2011, 16:05 В инсталлере выполнение это скрипта пропишешь, и всё.
Название: Re: Авторизация пользователя в Mac OS X Отправлено: dangreen от Август 10, 2011, 16:06 В инсталлере выполнение это скрипта пропишешь, и всё. а интсаллера не будит ) Название: Re: Авторизация пользователя в Mac OS X Отправлено: Пантер от Август 10, 2011, 16:07 Вирус пишешь? Если нет, то делай инсталлер. Если да, то копай сам.
Название: Re: Авторизация пользователя в Mac OS X Отправлено: dangreen от Август 10, 2011, 16:09 Вирус пишешь? Если нет, то делай инсталлер. Если да, то копай сам. программа слишком коротко юзабельна чтобы делать для нее инсталлер, да и сама по себе является почти инсталлером,и с каких пор для прог под макось делают инсталлеры? полюбому в Qt должны быть средства для авторизации юзера Название: Re: Авторизация пользователя в Mac OS X Отправлено: Пантер от Август 10, 2011, 16:10 полюбому в Qt должны быть средства для авторизации юзера С чего вдруг?Название: Re: Авторизация пользователя в Mac OS X Отправлено: dangreen от Август 10, 2011, 16:11 полюбому в Qt должны быть средства для авторизации юзера С чего вдруг?иначе Qt - кака Название: Re: Авторизация пользователя в Mac OS X Отправлено: lit-uriy от Август 10, 2011, 16:14 dangree, чё куришь?
Qt изначально - библиотека визуальных кроссплатформенных компонентов. Причём здесь авторизация? Название: Re: Авторизация пользователя в Mac OS X Отправлено: LisandreL от Август 10, 2011, 16:15 $echo <password> | sudo -S <command>
$echo <password> | sudo -u <username> -S <command> Так не будет работать? Название: Re: Авторизация пользователя в Mac OS X Отправлено: kambala от Август 10, 2011, 16:17 http://developer.apple.com/library/mac/#documentation/Security/Conceptual/authorization_concepts/01introduction/introduction.html круто конечно, но это для Xcode Название: Re: Авторизация пользователя в Mac OS X Отправлено: dangreen от Август 10, 2011, 16:32 http://developer.apple.com/library/mac/#documentation/Security/Conceptual/authorization_concepts/01introduction/introduction.html круто конечно, но это для Xcode Название: Re: Авторизация пользователя в Mac OS X Отправлено: dangreen от Август 10, 2011, 16:39 $echo <password> | sudo -S <command> $echo <password> | sudo -u <username> -S <command> Так не будет работать? а за вот это огромное тебе спасибо!) осталось сваять диологовое окно похожее на нативное ) Название: Re: Авторизация пользователя в Mac OS X Отправлено: kambala от Август 10, 2011, 16:43 http://developer.apple.com/library/mac/#documentation/Security/Conceptual/authorization_concepts/01introduction/introduction.html круто конечно, но это для Xcode Название: Re: Авторизация пользователя в Mac OS X Отправлено: GreatSnake от Август 10, 2011, 18:37 $echo <password> | sudo -S <command> $echo <password> | sudo -u <username> -S <command> Так не будет работать? а за вот это огромное тебе спасибо!) осталось сваять диологовое окно похожее на нативное ) Судя по форуму многим это требуется. Всё никак руки не доходят написать виджет( Вот здесь (http://www.linux.org.ru/forum/development/2947563#comment-2949698) можно посмотреть на реализацию запуска ssh через QProcess. Название: Re: Авторизация пользователя в Mac OS X Отправлено: Igors от Август 10, 2011, 19:06 программа слишком коротко юзабельна чтобы делать для нее инсталлер, да и сама по себе является почти инсталлером,и с каких пор для прог под макось делают инсталлеры? С очень давних. Частенько (в большинстве случаев) все что инсталлятор делает - предлагает скопировать приложение в Applications фолдер. Запрос на авторизацию от посторонней/малоизвестной программы пугает. Mac пользователей. Стандартный набор линукс файлов (config, install и др) также дискредетирует приложение в его глазах. Учить командую строку здесь не хотят и не любят, линукс пасется на заднем дворе. Так что может лучше "никак"Название: Re: Авторизация пользователя в Mac OS X Отправлено: ieroglif от Август 10, 2011, 19:42 иначе Qt - кака если С++ не умеет варить кофе - зачем он нужен ???отличный вывод ;D Название: Re: Авторизация пользователя в Mac OS X Отправлено: GreatSnake от Август 10, 2011, 19:47 иначе Qt - кака если С++ не умеет варить кофе - зачем он нужен ???отличный вывод ;D Название: Re: Авторизация пользователя в Mac OS X Отправлено: dangreen от Август 11, 2011, 10:56 сделал класс диалога, который спрашивает и узнает верен ли пароль
http://puu.sh/4egi реализовано через (Ж) конечно... но пашет и так, спасибо LisandreL за подсказку, Код: $echo <password> | sudo -S <command> поэтому я решил создавать скрипт который буду запускать из QProcess, но создаваемый файл не имел прав для комманды sudo это решилось простой коммандой "chmod +x" которую я применял из кода в QProcess, комманда лечит права и при этом не требует рут права Название: Re: Авторизация пользователя в Mac OS X [решено] Отправлено: GreatSnake от Август 11, 2011, 11:37 если пихать это в QProcess то процесс тупо следует тому что мы у него попросили, и он печатает "<password> | sudo -S <command>" Скорми QProcess вот это:Код и не нужно никаких файлов. Насчёт sudo... А как быть, если у юзера нет прав на пользование sudo или разрешен запуск строго определенных команд? Имхо, для универсальности нужно использовать 'su -'. Но вот для этого без псевдо-терминала уже никак ( Название: Re: Авторизация пользователя в Mac OS X [решено] Отправлено: dangreen от Август 11, 2011, 11:54 если пихать это в QProcess то процесс тупо следует тому что мы у него попросили, и он печатает "<password> | sudo -S <command>" Скорми QProcess вот это:Код и не нужно никаких файлов. Насчёт sudo... А как быть, если у юзера нет прав на пользование sudo или разрешен запуск строго определенных команд? Имхо, для универсальности нужно использовать 'su -'. Но вот для этого без псевдо-терминала уже никак ( под макосью не встречал ограничений Название: Re: Авторизация пользователя в Mac OS X [решено] Отправлено: kambala от Август 11, 2011, 12:16 и все же я никак не могу понять почему бы просто не воспользоваться стандартной задокументированой технологией авторизации и не изобретать велосипед
Название: Re: Авторизация пользователя в Mac OS X [решено] Отправлено: dangreen от Август 11, 2011, 12:26 и все же я никак не могу понять почему бы просто не воспользоваться стандартной задокументированой технологией авторизации и не изобретать велосипед я конечно тока за, буду пытаться разобраться, но документация на английском языке меня убивает Название: Re: Авторизация пользователя в Mac OS X [решено] Отправлено: kambala от Август 11, 2011, 12:31 но документация на английском языке меня убивает жжоте товарищНазвание: Re: Авторизация пользователя в Mac OS X [решено] Отправлено: dangreen от Август 11, 2011, 12:33 но документация на английском языке меня убивает жжоте товарищнадеюсь этот недуг вскоре вылечить) там реально ниче не понять, понаписана всего, фиг знает что конкретно нужно :-[ |