Название: Авторизация Отправлено: INZER от Сентябрь 04, 2013, 09:16 День добрый!
Необходимо написать модуль авторизации при запуске программы ... вроде бы все просто и не ожидал проблем с данной задачей НО авторизация должна быть от лица системного пользователя. Собственно вопрос: где взять список пользователей системы и как сравнивать пароли (как они шифруются и где хранятся). Заранее спасибо. PS: OS Linux Ubuntu. Название: Re: Авторизация Отправлено: Hellraiser от Сентябрь 04, 2013, 09:29 Читать файлы /etc/passwd и /etc/shadow. В passwd список пользователей, в shadow - хэши паролей (как правило, в md5). shadow доступен только root`у
Название: Re: Авторизация Отправлено: GreatSnake от Сентябрь 04, 2013, 10:01 Собственно вопрос: где взять список пользователей системы и как сравнивать пароли (как они шифруются и где хранятся). Собственно из ответа Hellraiser наверное уже понятно, что это тупиковый путь.Единственный способ - это запуск приложения через su. Для десктопов есть запускалка (http://www.prog.org.ru/index.php?topic=18151.msg121848#msg121848). Название: Re: Авторизация Отправлено: BuRn от Сентябрь 04, 2013, 11:24 Мне кажется, или вы сейчас противоречите политике linux ?
Название: Re: Авторизация Отправлено: GreatSnake от Сентябрь 04, 2013, 11:26 Мне кажется, или вы сейчас противоречите политике linux ? Это к кому вопрос?Название: Re: Авторизация Отправлено: BuRn от Сентябрь 04, 2013, 11:43 Мне кажется, или вы сейчас противоречите политике linux ? Это к кому вопрос?Название: Re: Авторизация Отправлено: voral от Сентябрь 04, 2013, 11:48 Пользователь уже залогинился в систему, зачем заставлять его делать это еще раз? Просто получить в программе имя текущего пользователя системы не то?
Название: Re: Авторизация Отправлено: BuRn от Сентябрь 04, 2013, 11:49 Пользователь уже залогинился в систему, зачем заставлять его делать это еще раз? Просто получить в программе имя текущего пользователя системы не то? root != userНазвание: Re: Авторизация Отправлено: voral от Сентябрь 04, 2013, 11:53 root != user При чем тут root? Здесь он нужен только в том случае если ТС все таки захочет воспользоваться файлом паролей. Что есть очень плохо.Я говорил о том, что зачем вообще программе форма авторизации если пользователи те же, что в системе. [OFF] root - тоже вполне себе пользователь. Только вот работать залогиненым как root не Тру. [/OFF] Название: Re: Авторизация Отправлено: Alex Custov от Сентябрь 04, 2013, 12:04 Используй PAM
Название: Re: Авторизация Отправлено: BuRn от Сентябрь 04, 2013, 13:06 root != user При чем тут root? Здесь он нужен только в том случае если ТС все таки захочет воспользоваться файлом паролей. Что есть очень плохо.Я говорил о том, что зачем вообще программе форма авторизации если пользователи те же, что в системе. [OFF] root - тоже вполне себе пользователь. Только вот работать залогиненым как root не Тру. [/OFF] Цитировать Собственно вопрос: где взять список пользователей системы и как сравнивать пароли (как они шифруются и где хранятся). Хэши паролей лежат в шадовс, а к нему на сколько я знаю доступ есть только у rootНазвание: Re: Авторизация Отправлено: voral от Сентябрь 04, 2013, 14:07 Хэши паролей лежат в шадовс, а к нему на сколько я знаю доступ есть только у root Так я ж предложил вообще отказаться от авторизации, т.к. пользователь уже залогинен в системе. Следовательно пароль уже вводил правильный. |