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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Авторизация  (Прочитано 5527 раз)
INZER
Гость
« : Сентябрь 04, 2013, 09:16 »

День добрый!

Необходимо написать модуль авторизации при запуске программы ... вроде бы все просто и не ожидал проблем с данной задачей
НО авторизация должна быть от лица системного пользователя.
Собственно вопрос: где взять список пользователей системы и как сравнивать пароли (как они шифруются и где хранятся).

Заранее спасибо.

PS: OS Linux Ubuntu.
Записан
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #1 : Сентябрь 04, 2013, 09:29 »

Читать файлы /etc/passwd и /etc/shadow. В passwd список пользователей, в shadow - хэши паролей (как правило, в md5). shadow доступен только root`у
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #2 : Сентябрь 04, 2013, 10:01 »

Собственно вопрос: где взять список пользователей системы и как сравнивать пароли (как они шифруются и где хранятся).
Собственно из ответа Hellraiser наверное уже понятно, что это тупиковый путь.
Единственный способ - это запуск приложения через su. Для десктопов есть запускалка.
Записан

Qt 5.11/4.8.7 (X11/Win)
BuRn
Гость
« Ответ #3 : Сентябрь 04, 2013, 11:24 »

Мне кажется, или вы сейчас противоречите политике linux ?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #4 : Сентябрь 04, 2013, 11:26 »

Мне кажется, или вы сейчас противоречите политике linux ?
Это к кому вопрос?
Записан

Qt 5.11/4.8.7 (X11/Win)
BuRn
Гость
« Ответ #5 : Сентябрь 04, 2013, 11:43 »

Мне кажется, или вы сейчас противоречите политике linux ?
Это к кому вопрос?
к креатору темы
Записан
voral
Гость
« Ответ #6 : Сентябрь 04, 2013, 11:48 »

Пользователь уже залогинился в систему, зачем заставлять его делать это еще раз? Просто получить в программе имя текущего пользователя системы не то?
Записан
BuRn
Гость
« Ответ #7 : Сентябрь 04, 2013, 11:49 »

Пользователь уже залогинился в систему, зачем заставлять его делать это еще раз? Просто получить в программе имя текущего пользователя системы не то?
root != user
Записан
voral
Гость
« Ответ #8 : Сентябрь 04, 2013, 11:53 »

root != user
При чем тут root? Здесь он нужен только в том случае если ТС все таки захочет воспользоваться файлом паролей. Что есть очень плохо.
Я говорил о том, что зачем вообще программе форма авторизации если пользователи те же, что в системе.

[OFF]
root - тоже вполне себе пользователь. Только вот работать залогиненым как root не Тру.
[/OFF]
« Последнее редактирование: Сентябрь 04, 2013, 11:56 от voral » Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #9 : Сентябрь 04, 2013, 12:04 »

Используй PAM
Записан
BuRn
Гость
« Ответ #10 : Сентябрь 04, 2013, 13:06 »

root != user
При чем тут root? Здесь он нужен только в том случае если ТС все таки захочет воспользоваться файлом паролей. Что есть очень плохо.
Я говорил о том, что зачем вообще программе форма авторизации если пользователи те же, что в системе.

[OFF]
root - тоже вполне себе пользователь. Только вот работать залогиненым как root не Тру.
[/OFF]


Цитировать
Собственно вопрос: где взять список пользователей системы и как сравнивать пароли (как они шифруются и где хранятся).
Хэши паролей лежат в шадовс, а к нему на сколько я знаю доступ есть только у root
Записан
voral
Гость
« Ответ #11 : Сентябрь 04, 2013, 14:07 »

Хэши паролей лежат в шадовс, а к нему на сколько я знаю доступ есть только у root
Так я ж предложил вообще отказаться от авторизации, т.к. пользователь уже залогинен в системе. Следовательно пароль уже вводил правильный.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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