- Как проверить логин и пароль пользователя в linux?
- 1 ответ 1
- Linux узнать свой пароль
- Как узнать пароль на root
- 4 ответа 4
- Загрузка в однопользовательский режим
- Подмена демона инициализации
- Загрузка с Live образа
- Редактирование базы данных пользователей
- можно ли узнать пароль пользователя?
- можно ли узнать пароль пользователя?
Как проверить логин и пароль пользователя в linux?
Пользователь вводит логин и пароль в консоль программы, есть ли возможность проверить из верность используя с++ linux api или bash?
1 ответ 1
Для этих целей можно использовать Pluggable Authentication Modules (PAM). Пример проверки пароля (нагло скопипасчен с оф сайта):
/* This program was contributed by Shane Watts [modifications by AGM and kukuk] You need to add the following (or equivalent) to the /etc/pam.d/check_user file: # check authorization auth required pam_unix.so account required pam_unix.so */ #include #include #include static struct pam_conv conv = < misc_conv, NULL >; int main(int argc, char *argv[]) < pam_handle_t *pamh=NULL; int retval; const char *user="nobody"; if(argc == 2) < user = argv[1]; >if(argc > 2) < fprintf(stderr, "Usage: check_user [username]\n"); exit(1); >retval = pam_start("check_user", user, &conv, &pamh); if (retval == PAM_SUCCESS) retval = pam_authenticate(pamh, 0); /* is user really user? */ if (retval == PAM_SUCCESS) retval = pam_acct_mgmt(pamh, 0); /* permitted access? */ /* This is where we have been authorized or not. */ if (retval == PAM_SUCCESS) < fprintf(stdout, "Authenticated\n"); >else < fprintf(stdout, "Not Authenticated\n"); >if (pam_end(pamh,retval) != PAM_SUCCESS) < /* close Linux-PAM */ pamh = NULL; fprintf(stderr, "check_user: failed to release authenticator\n"); exit(1); >return ( retval == PAM_SUCCESS ? 0:1 ); /* indicate success */ >
Linux узнать свой пароль
В Linux нет особого реестра, где бы хранились настройки программ, данные пользователей и другие компоненты системы. Всё хранится в файлах. В этой небольшой статье мы поговорим о том, где хранятся пароли пользователей Linux.
Изначально для хранения паролей использовался файл /etc/passwd. Но этот файл доступен для чтения всем пользователям. Поэтому, из соображений безопасности, пароли пользователей были перенесены в файл /etc/shadow. Этот файл доступен для чтения только пользователю root. Важно отметить, что пароли в этом файле хранятся не в открытом виде, а в хэшированном. Существует несколько алгоритмов хэширования паролей для Linux. Подробно всё это рассматривалось в статье про смену пароля Linux. Сейчас же давайте посмотрим на общий синтаксис файла /etc/shadow: sudo cat /etc/shadow
- root — имя пользователя, для которого сохранен пароль;
- $6$yr. — хэш пароля, длина хэша от пароля никак не зависит, в данном случае зашифровано слово password;
- 18376 — дата последнего изменения пароля;
- 0 — количество дней на смену пароля, если его срок действия истёк;
- 999999 — количество дней от момента последней смены пароля до момента, когда надо сменить пароль принудительно;
- 7 — за сколько дней пользователь будет предупреждён о необходимости смены пароля.
- Ещё три поля — задают параметры отключения учётной записи пользователя.
Это всё, что следует знать об этом файле. В Linux есть ещё одно место, где приложения хранят свои пароли, SSH-ключи и другие секретные данные. Это хранилище ключей. В Gnome утилита называется SeaHorce. Вы можете найти её по названию в главном меню:
В самой утилите вы сможете найти и удалить ключи от различных приложений, ключ от хранилища паролей Chromium, токен доступа в Skype, а также все SSH-ключи, добавленные к вашей системе.
Естественно, здесь всё тоже захэшировано и просто прочитать пароль не получиться, если, конечно, какое-нибудь приложение не хранит их в открытом виде. Теперь вы знаете, где хранятся пароли в Linux. На этом всё.
Как узнать пароль на root
как можно изменить пароль? не могу войти на компьютер. спрашивает пароль пользователя? как я могу найти его.
4 ответа 4
По поводу заголовка вопроса:В Убунте вход от имени пользователя root по-умолчанию запрещён, и пароля у него нет. Воспользуйтесь командой sudo и вводите свой пароль. Пользователь, соответственно, должен иметь привилегии (см /etc/sudoers).Ссылко
Можно только сбросить на новый при наличии физического доступа к машине — http://habrahabr.ru/post/54103/
Узнать пароль просто так не получится, но зато его можно сбросить, установить новый. Есть несколько простых способов это сделать.
Загрузка в однопользовательский режим
Если на нужной машине в качестве загрузчика используется GRUB без пароля, подойдут такие действия.
- Включите компьютер и дождитесь экрана выбора ОС (если выбор не появляется, нужно нажать клавишу ESC во момент загрузки).
- Как только удалось попасть в меню загрузчика, наведите курсор на нужную систему и нажмите клавишу E . Вы попадёте в простой редактор для этого пункта.
- Найдите строчку, начинающуюся с linux , и добавьте в конец слово single .
- Загрузитесь с изменёнными настройками, нажав F10 .
- Через некоторое время вы попадёте в привилегированный режим. Наберите там команду passwd пользователь и установите пароль указанного пользователя системы.
- Затем введите команду exit , и загрузка продолжится как обычно. Но пароль уже будет сменён.
Подмена демона инициализации
Однопользовательский режим загрузки может быть заблокирован*. В этом случае можно попытаться подменить путь к программе начальной инициализации.
- Для этого на этапе редактирования настроек пункта в загрузчике (см. №3 выше) надо вместо параметра single писать init=/bin/bash .
Загрузившись (клавиша F10 ), надо примонтировать корневой раздел на запись.
Затем аналогично меняете пароль утилитой passwd.
* в systemd это делается маскированием юнита rescue.target .
Загрузка с Live образа
Администратор может запретить менять параметры загрузки, поставив пароль на GRUB. Это осложнит предыдущие пункты, и придётся прибегнуть к помощи установочной флешки.
Загрузив Live систему с флешки (или по-старинке с CD), в терминале примонтируйте системный раздел целевой ОС. Найти его можно утилитами fdisk или GParted.
Потом смените корневой каталог
Смените пароль также как и в предыдущих вариантах программой passwd.
В качестве противодействия этому варианту предлагается поставить пароль и на BIOS и повесить замок на корпус или опечатать его.
Редактирование базы данных пользователей
В предыдущем случае, чтобы прошёл фокус со сменой корня, подопытная система и система с флешки должны быть архитекурно совместимы. Если это не так, можно отредактировать файл /etc/passwd целевой ОС.
- Откройте passwd файл, который содержит список пользователей, в любом текстовом редакторе (или даже в любой ОС, в которой есть поддержка линуксовой ФС).
Найдите нужного пользователя (имена в первой колонке до двоеточия) и уберите любые символы вплоть до второго двоеточия в строке. Это сбросит пароль пользователя на пустой.
Загрузившись в целевую систему желательно заново установить пароль.
Но на самом деле, что по-настоящему защитить данные от несанкционированного доступа, их стоит зашифровать. В этом случае можно быть уверенным, что вышеизложенные инструкции не подойдут. А если вы вдруг забыли пароль от криптоконтейнера, то самое простое решение — забыть про него. Впрочем, это не тема настоящего ответа.
можно ли узнать пароль пользователя?
Проблемы с сыном (14 лет), болен интернетом (соц сетями). Решил регулировать доступ. Поставил linux mint 17 (сделан из ubuntu 14.04, сам пользую mint mate 13). Создал пользователя. Пароль взял предложенный системой, безсмысленный набор символов. Пароль никому не показывал, не записывал, просто запомнил. Оставил сына на некоторое время в системе, не смотрел, что делает (живем не вместе, приходится оставлять). Сейчас узнаю, что он как то узнал пароль пользователя и пользует комп в мое отсутствие. Как это можно сделать? Всегда считал, что линух не взломать и пользуюсь им уже много лет. Прочитал кучу статей по этому поводу. Везде пишут, что можно только скинуть пароль рута, используя при загрузке восстановление системы. Но пароли не изменились. Подскажите кто знает. Сына надо лечить ограничением доступа в инет.
Коллега на работе рассказывал, что его брат узнал пароль у отца оставив фотомыльницу на запись так, чтобы она была направлена на клавиатуру.
Сына надо лечить ограничением доступа в инет.
А больше времени с ним проводить не приходила мысль? По теме — мог много раз видеть, как ты набираешь и запомнить. Дети на такое способны.
пароль узнать нельзя. Строго говоря, система его тоже не знает, она знает только как проверить верен ли он.
— загрузился в режиме восстановления системы, создал нового пользователя
— поменял пароль рута и работает из под него
Вообще, советую посмотреть /etc/passwd на предмет появления новых пользователей.
Хотя вариант с подсмотренным паролем тоже очень даже имеет право на существование
При входе в систему сына рядом не было. Мысль правильная, но не реализуемая. Живем не вместе.
Это понятно. А где нибудь фиксируется кто и когда входил в систему?
Сейчас узнаю, что он как то узнал пароль пользователя и пользует комп в мое отсутствие. Как это можно сделать?
Скорее всего init=/bin/bash через граб
Значит в самом деле видео записал. И проверить нет ли новых пользователей. А еще такое — он точно сидит с установленной ОС? Может с флешки какой-то. Если нет, то ваш сын смог сделать то, что считается практически невозможным.
Кстати, а загрузка с флешки разрешена? Правда нужно ещё ограничить сброс биоса, а то можно просто грузиться с флешки-лайвсиди и использовать интернет вдоволь.
Немного по подробнее можно? Я не очень в администрировании.
А где нибудь фиксируется кто и когда входил в систему?
В системных log-файлах, в зависимости от дистрибутива.
live cd запускает наверное ::)
В меню grub нажимаем «Е» на клавиатуре и в конец строки linux вводим init=/bin/bash
Затем там уже меняем пароль пользователя
Ограничивай не доступ к пк, а доступ к сети.
То есть доступ был ограничен только паролем к установленной системе? Не был запрещён доступ в биос, не запрещена загрузка с внешних носителей, не запрещёно редактирование меню grub, доступ внутрь системника тоже не ограничен?
Ограничивай не доступ к пк, а доступ к сети.
Проще отказаться от услуг провайдера. Но пацанчика это не остановит 🙂 Придется запрещать весь город или держать пацана взаперти 🙂
сделай в кроне проверку пароля по хешу, если пароль отличается от эталонного меняешь его, или при загрузке проверь пароль, в общем вариантов много. А вообще гордись сыном!
А больше времени с ним проводить не приходила мысль?
можно ли узнать пароль пользователя?
Проблемы с сыном (14 лет), болен интернетом (соц сетями). Решил регулировать доступ. Поставил linux mint 17 (сделан из ubuntu 14.04, сам пользую mint mate 13). Создал пользователя. Пароль взял предложенный системой, безсмысленный набор символов. Пароль никому не показывал, не записывал, просто запомнил. Оставил сына на некоторое время в системе, не смотрел, что делает (живем не вместе, приходится оставлять). Сейчас узнаю, что он как то узнал пароль пользователя и пользует комп в мое отсутствие. Как это можно сделать? Всегда считал, что линух не взломать и пользуюсь им уже много лет. Прочитал кучу статей по этому поводу. Везде пишут, что можно только скинуть пароль рута, используя при загрузке восстановление системы. Но пароли не изменились. Подскажите кто знает. Сына надо лечить ограничением доступа в инет.
Коллега на работе рассказывал, что его брат узнал пароль у отца оставив фотомыльницу на запись так, чтобы она была направлена на клавиатуру.
Сына надо лечить ограничением доступа в инет.
А больше времени с ним проводить не приходила мысль? По теме — мог много раз видеть, как ты набираешь и запомнить. Дети на такое способны.
пароль узнать нельзя. Строго говоря, система его тоже не знает, она знает только как проверить верен ли он.
— загрузился в режиме восстановления системы, создал нового пользователя
— поменял пароль рута и работает из под него
Вообще, советую посмотреть /etc/passwd на предмет появления новых пользователей.
Хотя вариант с подсмотренным паролем тоже очень даже имеет право на существование
gnunixon ★★★ ( 21.11.14 20:31:25 MSK )
Последнее исправление: gnunixon 21.11.14 20:32:30 MSK (всего исправлений: 1)
При входе в систему сына рядом не было. Мысль правильная, но не реализуемая. Живем не вместе.
Это понятно. А где нибудь фиксируется кто и когда входил в систему?
Сейчас узнаю, что он как то узнал пароль пользователя и пользует комп в мое отсутствие. Как это можно сделать?
Скорее всего init=/bin/bash через граб
Значит в самом деле видео записал. И проверить нет ли новых пользователей. А еще такое — он точно сидит с установленной ОС? Может с флешки какой-то. Если нет, то ваш сын смог сделать то, что считается практически невозможным.
Кстати, а загрузка с флешки разрешена? Правда нужно ещё ограничить сброс биоса, а то можно просто грузиться с флешки-лайвсиди и использовать интернет вдоволь.
Немного по подробнее можно? Я не очень в администрировании.
А где нибудь фиксируется кто и когда входил в систему?
В системных log-файлах, в зависимости от дистрибутива.