Как поставить пароль на линукс при входе

Обновлено: 04.07.2024

Этичный хакинг и тестирование на проникновение, информационная безопасность

В статье «Как в Linux сбросить забытый пароль входа» показано, что пароль для входа в Linux можно сбросить очень быстро и просто. Причём это может быть пароль root или любого пользователя.

Суть описанного в той статье метода заключается в редактировании опций загрузчика GRUB для загрузки в однопользовательский режим. Возможно кого-то такой простой способ обхода пароля root заставил задуматься: можно ли защитить Linux от смены пароля при загрузке? Точнее говоря, можно ли запретит менять опции загрузки в GRUB?

С одной стороны, — да, можно установить пароль на редактирование опций загрузчика GRUB, в данной статье будет показано как это настроить. Но, с другой стороны, нужно помнить — настройка делается в текстовых конфигурационных файлах GRUB и при физическом доступе к компьютеру с возможностью загрузки с LIVE дистрибутива можно обойти и эту защиту по смене пароля. При физическом доступе всегда остаётся вариант вынуть жёсткий диск и просмотреть его содержимое на другой системе. То есть настоящую защиту данных обеспечивает только их шифрование или шифрование всего диска, защита в виде пароля на загрузку не является надёжной!

Рекомендуется: смотрите также статьи

Тем не менее описанный метод, как минимум, может задержать или даже поставить в тупик неавторизованное для смены пароля лицо. А при принятии дополнительных мер — запрет на использование внешних устройств или контроль физического доступа, описанный способ может защитить от входа в однопользовательский режим.

Защиту паролем GRUB можно организовать двумя способами:

  1. Необходимо ввести пароль как на загрузку системы, так и на редактирование опций загрузки
  2. Загрузиться может любой пользователь без пароля, а для редактирования опций загрузки необходимо ввести пароль.

Рассмотрим оба этих варианты.

Примечание: если вы используете пароль загрузки для GRUB2, то экран заставки во время загрузки не будет отображаться.

Настройка пароля на загрузку системы и на редактирование опций загрузки

От root выполните следующие команды для установки пароля загрузки:

С помощью утилиты grub-mkpasswd-pbkdf2 сгенерируйте хеш пароля:

Введите и подтвердите пароль:


Будет показана примерно такая строка:

Из выведенных данных нужно взять всю строку «grub.pbkdf2.sha512.10000………….».

Теперь откройте файл /etc/grub.d/40_custom

и добавьте в него:


Поскольку файл /etc/grub.d/40_custom содержит хеш пароля, то рекомендуется запретить его чтение и изменения всеми, кроме пользователя root:

Теперь запускаем создание нового конфигурационного файла загрузчика:

После перезагрузки при попытке выбрать любой пункт меню вам будет предложено ввести имя пользователя и пароль. Введите root и пароль, который вы ввели в команде grub-mkpasswd-pbkdf2. Если учётные данные верны, система продолжит загрузку.


На самом деле, имя пользователя на этом этапе неважно — оно используется только как учётные данные для входа в загрузчик. Например, имя пользователя на моём компьютере mial, даже при вводе имени root и установленного пароля, я всё равно загружусь как пользователь mial. По этой причине в файл /etc/grub.d/40_custom можно указать любое имя пользователя, главное, не забудьте его.

Как включить редактирование опций GRUB по паролю, но загрузиться может любой пользователь

С помощью утилиты grub-mkpasswd-pbkdf2 сгенерируйте хеш пароля:

Введите и подтвердите пароль:

Будет показана примерно такая строка:

Из выведенных данных нужно взять всю строку «grub.pbkdf2.sha512.10000………….».

Теперь откройте файл /etc/grub.d/40_custom

и добавьте в него:

Поскольку файл /etc/grub.d/40_custom содержит хеш пароля, то рекомендуется запретить его чтение и изменения всеми, кроме пользователя root:

Теперь откройте файл /etc/grub.d/10_linux и найдите пункт или пункты меню, которые вы хотите сделать доступными для загрузки без пароля:


К примеру, в моём случае это пункт:

Добавьте к нему опцию --unrestricted, чтобы получилось так:


Сохраните и закройте этот файл.

Теперь запустите создание нового конфигурационного файла загрузчика:

В результате загрузка системы будет выполняться как и раньше — пароль в загрузчике вводить не нужно. Но при попытке отредактировать опции загрузчика, например, если ввести «e», то будет предложено ввести пароль. Без ввода пароля не будет дан доступ к опциям загрузки.

Если нажать Enter без ввода пароля, то продолжится обычная загрузка, опции GRUB изменены не будут.

Операционная система Linux изначально проектировалась как многопользовательская и безопасная система. Поэтому здесь у каждого пользователя есть пароль. Полномочия пользователей и способ их аутентификации заложен на уровне системы.

Иногда возникает необходимость изменить пароль в Linux. Во-первых, это может произойти, если вы забыли пароль или просто хотите его поменять. Другая же причина - это безопасность. Пароли нужно менять по крайней мере несколько раз в год, и, если вы системный администратор компании, важно заставить ваших пользователей тоже менять пароли время от времени, и у Linux для этого тоже есть инструменты. В этой статье мы рассмотрим, как поменять пароль в Linux.

Основы

В Linux есть несколько утилит с помощью которых может быть выполнена смена пароля Linux. В этой статье мы будем рассматривать только способы сделать это с помощью терминала, с графическими способами, я думаю, вы и так без труда разберётесь, к тому же они не дают нужной нам гибкости.

Список пользователей в Linux хранится в файле /etc/passwd, вы можете без труда открыть его и посмотреть, пароли же выделены в отдельный файл - /etc/shadow. Этот файл можно открыть только с правами суперпользователя, и, более того, пароли здесь хранятся в зашифрованном виде, поэтому узнать пароль Linux не получиться, а поменять вручную будет сложно.

В большинстве случаев смена пароля выполняется с помощью утилиты passwd. Это очень мощная утилита, она позволяет не только менять пароль, но и управлять сроком его жизни. У неё такой синтаксис:

$ passwd опции пользователь

Рассмотрим опции, чтобы лучше ориентироваться в использовании утилиты:

  • -d - удалить пароль пользователя, после этого он не сможет войти
  • -e - сделать пароль устаревшим
  • -i - через сколько дней после того, как пароль устарел, отключить аккаунт, если пользователь не сменил пароль
  • -l - запретить пользователю входить в систему
  • -n - минимальное количество дней между сменами пароля
  • -S - отобразить информацию об аккаунте
  • -u - отменяет действие параметра -l
  • -x - максимальное количество дней, пока пароль можно использовать.
  • -w - количество дней, после которых нужно предупреждать пользователя о том, что надо сменить пароль.

Возможно, сейчас всё выглядит очень непонятно, но на примерах станет проще. Мы рассмотрим, зачем и в каких случаях нужно использовать все эти опции, чтобы сменить пароль в Linux. Переходим к практике.

Если вы забыли пароль и вам его надо не просто сменить, а сбросить, вам будут полезными эти две статьи:

Как сменить пароль пользователя

Вы можете сменить свой пароль, когда захотите. Для этого вам не нужно особых прав суперпользователя, только знать свой текущий пароль. Просто откройте терминал и выполните утилиту passwd без параметров:

passwd

Дальше необходимо ввести новый пароль - и готово, теперь он измеён. Он кодируетсятся с помощью необратимого шифрования и сохраняется в файле /etc/shadow Но заметьте, что вы не можете использовать здесь любой пароль. Система Linux заботится о том, чтобы пользователи выбирали достаточно сложные пароли. Если он будет очень коротким или будет содержать только цифры, вы не сможете его установить.

Общие требования для пароля такие: должен содержать от 6 до 8 символов, причём один или несколько из них должны относиться как минимум к двум из таких множеств:

  • Буквы нижнего регистра
  • Буквы верхнего регистра
  • Цифры от нуля до девяти
  • Знаки препинания и знак _

Теперь рассмотрим, как изменить пароль Linux для другого пользователя.

Как сменить пароль другого пользователя

Со своим паролем всё понятно, но если вы захотите поменять код для другого пользователя, то придётся вопользоваться правами суперпользователя. А во всём остальном процесс тот же:

sudo passwd user

Здесь user - это пользователь, для которого нужна смена пароля Linux. Требования для пароля такие же: вы не сможете установить слишком простой пароль.

Вы можете удалить пароль Linux для пользователя, тогда он не сможет войти в систему:

sudo passwd -d user

Как поменять пароль группы

Наверное вы видели в своей системе файл /etc/gshadow. Этот файл эквивалентен /etc/shadow, только содержат пароли для групп. Вы не можете войти от имени группы, но зато, зная её пароль, можете получить доступ к предоставляемым ею функциям в отдельной командной оболочке с помощью команды newgrp.

Для установки пароля на группу используется утилита очень похожая на passwd - gpasswd. Естественно, нам нужны права суперпользователя. Например:

sudo gpasswd disk

passwd1

Теперь попробуем получить полномочия группы:

passwd2

После ввода пароля мы временно оказываемся в этой группе и можем работать с теми файлами, к которым разрешен доступ этой группе. Чтобы удалить пароль Linux из группы, используется опция -r:

sudo gpasswd -r disk

Как заставить пользователя поменять пароль

Безопасность сервера - это одна из самых важных вещей. Часто причиной проблем с безопасностью становятся сами пользователи, которые недостаточно часто меняют пароли или делают их слишком простыми. Если вы администратор, у вас есть возможность заставить пользователей выполнять смену пароля время от времени, а также автоматически отсылать им предупреждения о том, что пора сменить пароль пользователя Linux.

Всё это позволяет сделать утилита passwd. Сначала давайте рассмотрим, как посмотреть информацию о пароле в passwd. Для этого используется опция -S:

passwd3

  • Первое поле - имя пользователя
  • Второе поле показывает одно из значений: P - пароль установлен, L - пользователь заблокирован, NP - пароля нет.
  • 07/21/2016 - дата последнего изменения пароля.
  • 0 - минимальное время до смены пароля
  • 99999 - максимальное время действия пароля
  • 7 - за сколько дней нужно предупреждать об истечении срока действия пароля
  • -1 - через сколько дней пароль нужно деактивировать.

Например, через тридцать дней после смены, пароль пользователя станет устаревшим:

sudo passwd -x 30 test

passwd4

За три дня до того, как пароль устареет, предупредим пользователя, что его нужно сменить:

sudo passwd -w 3 test

Если он этого не сделает в течении пяти дней, аккаунт нужно отключить:

sudo passwd -i 3 test

Пароль можно менять не чаще, чем раз в 10 дней:

sudo passwd -n 10 test

Смотрим теперь, что у нас получилось:

sudo passwd -S test

passwd5

Как поменять пароль root

Изменить пароль Linux для root очень просто, точно так же, как и для любого другого пользователя. Только нужно иметь права суперпользователя. Вот так это будет выглядеть:

sudo passwd root

passwd6

Всё работает. Таким же способом можно задать пароль root в Ubuntu.

Как вручную поменять пароль

Операционная система Linux не была бы Linux, если бы мы не имели возможность настроить пароль вручную безо всяких утилит. Как я уже говорил, пароли хранятся в файле /etc/shadow. И хранятся они там в зашифрованном виде. Расшифровать пароль невозможно.

Когда система сохраняет пароль, она выполняет шифрование по определённому алгоритму и сохраняет уже зашифрованный результат, а когда пользователю нужно войти в систему, она просто берёт его пароль, опять же шифрует и сверяет с тем, что хранится в /etc/shadow. Если совпадает - пользователь авторизован.

Даже таким способом сменить пароль пользователя Linux не так уж сложно. Итак, сначала нам нужно получить зашифрованный пароль. Это можно сделать несколькими способами, например с помощью openssl:

openssl passwd -1 -salt xyz yourpass

Замените xyz на любую случайную комбинацию символов, чем больше, тем лучше; yourpass - это ваш новый пароль.

Скопируйте полученный результат в буфер обмена, затем откройте файл /etc/shadow и найдите там нужного пользователя. Я хочу сменить пароль Linux для test:

sudo vi /etc/shadow

passwd8

Синтаксис этого файла такой:

имя_пользователя: пароль: .

Следующее поле указывает на последнее изменение пароля в виде количества дней, прошедших с первого января 1970. Остальные поля нас не интересуют, да и вы с ними очень просто разберётесь, просто сопоставив данные.

Теперь замените пароль на полученный выше и сохраненный в буфер обмена. Сохраните файл и можете пробовать войти под новым паролем:

passwd7

Всё работает. Как я уже говорил, есть ещё несколько алгоритмов шифрования, с помощью которых вы можете получить пароль, вот они:

makepasswd --clearfrom=- --crypt-md5 <<< YourPass
mkpasswd -m sha-512 -S salt -s <<< YourPass
perl -e 'print crypt("YourPass", "salt"),"\n"'
openssl passwd -crypt -salt XRYourPass

Во всех этих примерах salt - это случайная строка для увеличения надёжности шифрования, а YourPass - ваш пароль. Что делать с полученным данными вы уже знаете.

Выводы

Из этой статьи вы узнали, как сменить пароль Linux. Я рассмотрел все возможные способы и даже не очень стандартные. Если у вас остались вопросы, пишите комментарии!

propk.ru

Забыл пароль Linux.

Недавно случилось, что необходимо стало установить программу на машину где стоит ubuntu, но как многие знают в системе linux при совершении того или иного действия необходимо знать пароль пользователя.

Если запуск и работа Linux могут быть настроены без ввода пароля, то внесении изменений попросит пароль.

Вот задача ? Пароль Linux все уже забыли и наверное даже и не знали.

Система была установлена и настроена. Пароль никому не нужен был, ведь комп включался и на нем работали в стандартных приложениях, в основном удаленно. Если проще, то изменения не требовались, но спустя несколько лет нужно стало сменить браузер. Тут и пришлось обратится ко всемирной паутине и сильно задуматься.

Оказалось, что все гораздо проще чем в windows, не нужно ни каких сторонних программ или дисков, совсем просто.

Меняем пароль Linux.

Рассмотрим вариант с Ubuntu

Для начала определимся с именем пользователя, его нам надо знать обязательно, ведь для него мы и меняем пароль. Это по сути все, что нам необходимо.

Например в запущенном Ubuntu имя пользователя можно увидеть в правом верхнем углу.

логин linux

Возьмем за ситуацию когда большей информацией вы не располагаете.

recovery mode

После некоторого времени, зависит от вашего ПК, откроется меню в котором выбираем строку


Теперь нам необходимо подключить нашу файловую систему операционной системы для редактирования, сделаем это командой:

Как бы все пароль установлен, перезагружаем систему командой reboot. Загрузившись в обычном режиме проверяем.

Если хотите сбросить пароль root Ubuntu, то соответственно имя пользователя указываем root.

Рассмотрим вариант с Linux Mint

Так как linux Mint основан на Ubuntu, то и в нем этот способ будет скорее всего работать.

Включаем компьютер или ноутбук, и при старте в меню режимов запуска, обычно оно появляется при старте системы на 10 секунд и выглядит так

grub mint

Если вы не смогли увидеть это меню, то перезагрузите компьютер и во время загрузки, после старта Bios удерживайте клавишу Shift, появится это окно.

Выбираем пункт запуска вашей системы, как правило это первый пункт и он выбран автоматически (выбираем стрелочками без нажатия клавиши Enter). Когда выбрали нужный пункт нажимаем кнопку E

пароль linux mint

Откроется меню файл с параметрами запуска системы, пролистайте стрелочками вниз до строки такого содержания

выглядит она так

пароль linux mint

в этой строке окончание

Выглядеть это будет так

пароль linux mint

теперь нажимаем F10 или Ctrl +x

В результате система загрузится в терминальном режиме от пользователя root

Теперь смотрим пользователей на нашем компьютере, если не знаем, командой

Выглядеть это будет так

пароль linux mint

Теперь перезагружаем ПК с помощью сочетания клавиш Ctrl+Alt+Del


Это самая базовая вещь, а именно, как установить пароль пользователя, когда вы создаете учетную запись пользователя в Linux.

Все используют команду passwd, за которой следует имя пользователя passwd USERNAME, чтобы установить пароль для пользователя.

Убедитесь, что вам нужно установить жесткий пароль и угадать пароль, который поможет вам сделать систему более безопасной.

Я имею в виду, это должно быть сочетание букв, символов и цифр.

Кроме того, я советую вам менять пароль хотя бы раз в месяц по соображениям безопасности.

Когда вы используете команду passwd, она попросит вас дважды ввести пароль, чтобы установить его.

Это собственный метод установки пароля пользователя.

А что если вы не хотите обновлять пароль дважды и хотели бы сделать это по-другому?

Если вы работаете в качестве администратора Linux, вы, возможно, задавали приведенные ниже вопросы много раз.

Некоторые из вас могут или не могут получить ответ на эти вопросы.

Что бы это ни было, не волнуйтесь, мы здесь, чтобы ответить на все ваши вопросы.

1) Как обновить / изменить пароль пользователя в одной команде?

2) Как обновить / изменить один и тот же пароль для нескольких пользователей в Linux?

3) Как обновить / изменить пароль нескольких пользователей в Linux?

4) Как обновить / изменить пароль для нескольких пользователей в Linux?

5) Как обновить / изменить разный пароль для нескольких пользователей в Linux?

6) Как обновить / изменить пароль пользователя на нескольких серверах Linux?

7) Как обновить / изменить пароль нескольких пользователей на нескольких серверах Linux?

Способ 1: использование команды passwd

Ниже приведен стандартный способ сделать это.

Запустите следующую команду, если вы хотите установить или изменить пароль с помощью одной команды.

Это позволяет пользователям обновить пароль в одной команде.

Метод 2: Использование команды chpasswd

Используйте следующий формат, если вы хотите использовать команду chpasswd, чтобы изменить пароль для пользователя в одной команде.

Метод 3: Как установить разный пароль для нескольких пользователей

Используйте приведенный ниже скрипт, если вы хотите установить, обновить или изменить пароль для нескольких пользователей Linux с разными паролями.

Для этого сначала нам нужно получить список пользователей с помощью следующей команды.

Следующая команда выведет список пользователей, имеющих каталог /home, и перенаправит вывод в файл user-list.txt.

Перечислите пользователей с помощью команды cat.

Удалите пользователя из списка, если вы не хотите сбрасывать пароль для конкретного пользователя.

Создайте следующий небольшой скрипт для достижения этой цели.

Установите исполняемое разрешение для файла password-update.sh.

Наконец, запустите скрипт, чтобы добиться этого.

Способ 4: как установить один и тот же пароль для нескольких пользователей

Используйте приведенный ниже скрипт, если вы хотите установить или обновить или изменить один и тот же пароль для нескольких пользователей в Linux.

Метод 5: Как изменить пароль пользователя на нескольких серверах

Используйте следующий скрипт, если вы хотите изменить пароль пользователя на нескольких серверах.

В моем случае мы собираемся изменить пароль для пользователя Renu.

Убедитесь, что вы назначаете правильное имя пользователя, которому хотите обновить пароль.

Убедитесь, что вам нужно обновить список серверов в файл server-list.txt.

Каждый сервер должен быть в отдельной строке.

Вы будете получать вывод, аналогичную этому.

Способ 6: Как изменить пароль пользователя на нескольких серверах с помощью команды pssh

Она предоставляет такие функции, как отправка ввода всем процессам, передача пароля в ssh, сохранение вывода в файлы и тайм-аут.

Вы будете получать вывод, аналогичную этому.

Способ 7: Как изменить пароль пользователя на нескольких серверах с помощью команды chpasswd

В качестве альтернативы мы можем использовать команду chpasswd для обновления пароля пользователя на нескольких серверах.

Читайте также: