Как сменить пароль в Линукс

Операционная система 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.png

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

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

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

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

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

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

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

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

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

passwd1.png

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

passwd2.png

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

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

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

passwd3.png

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

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

passwd4.png

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

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

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

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

passwd5.png

Всё правильно.

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

passwd6.png

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

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

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

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

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

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

passwd8.png

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

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

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

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

passwd7.png

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

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

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

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

Кстати, ранее мы говорили о том, что будет нового в Debian 9. Сразу скажем добавят много интересных функций, которые так просили фанаты. Возможно, это также вам буде интересно прочитать.

Как сменить пароль в Линукс

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

Мы будем использовать один пример, чтобы представить, как изменить пароль пользователя Linux в одной командной строке. Предположим, мы вошли в систему как root и хотим изменить пароль пользователя linuxinsider на linuxpassword.

Команда passwd запрашивает новый пароль дважды. И эти два входа (один и тот же пароль) разделены одним «Enter». Эмулировать это можно с помощью команды echo с опцией -e. Когда -e действует, экранированные символы будут интерпретированы. Следовательно, n в вводе echo отображается как «новая строка». Кроме того, на современном Linux с достаточно новым паролем вы можете использовать опцию —stdin, чтобы позволить passwd принимать пароль от STDIN вместо того, чтобы запрашивать новый пароль дважды.

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

# Echo «linuxpassword» | Passwd —stdin linuxinsider

или

# Echo -e «linuxpassword nlinuxpassword» | Passwd linuxinsider

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

Например, мы можем изменить пароль linuxuser на пакет серверов (100 серверов: от 10.1.0.1 до 10.1.0.100):

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

$ Echo -e «your_current_pass nlinuxpassword nlinuxpassword» | ПАРОЛЬ

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

В принципе это также легко сделать.

$ sudo passwd user

Слово User здесь выступает как имя учетной записи на котором вы хотите сменить пароль.

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

$ sudo passwd -d user

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

$ sudo gpasswd disk

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

$ sudo gpasswd -r disk

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

Поменять пароль также просто как и способами ранее. Для начала введите в командной строке такую команду как:

$ openssl passwd -1 -salt xyz yourpass

Только сначала замените команду xyz на любую комбинацию из символов, а слово yourpass на ваш новый пароль.

Затем, нужно будет скопировать результат и открыть /etc/shadow/, после этого найдите нужно пользователя. Пример:

$ sudo vi /etc/shadow

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

$ su test

Остались вопросы по теме «Как сменить пароль в Линукс» — Пиши их в форму комментариев на сайте.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

В меню управления виртуальным сервером есть стандартная функция смены пароля root («Виртуальные машины» → сервер → «Пароль»). Однако пользоваться ей крайне не рекомендуется из-за возможных сбоев в файловой системе VDS.

Два нижеописанных варианта подходят для сброса root на VDS с KVM-виртуализацией и Linux-подобными ОС.

Данный пример разобран на основе ОС Debian 8 и Debian 9.

Содержание:

Как изменить пароль root на VDS, когда он неизвестен

Поменять пароль root в этом случае можно через панель VMmanager, используя встроенную систему удалённого доступа к серверу Virtual Network Computing (VNC).

  1. Заходим в «Виртуальные машины» и выбираем нужный сервер. Перезагружаем VDS с помощью кнопки «Перезапуск». В процессе подтверждаем намерение перезапустить виртуальную машину, нажимая «Ок».1-smena-parolya-VDS-VNC-Debian.png
  2. После завершения перезагрузки, нажимаем кнопку «VNC».2-smena-parolya-VDS-VNC-Debian.png
  3. В открывшемся окне диспетчера задач нажимаем кнопку перезапуска «SendCtrlAltDel» в верхнем правом углу.3-smena-parolya-VDS-VNC-Debian.png
  4. После загрузки данных сервера в загрузчике GRUB возникнет подсвеченная ОС «Debian GNU/Linux». Нажимаем английскую клавишу «e» для входя в редактирование.4-smena-parolya-VDS-VNC-Debian.png
  5. В открывшемся окне выбираем (клавишами клавиши «↓» и «↑») строку, начинающуюся с «linux». Находим значение «ro», а также конец фрагмента (перед «echo»).5-smena-parolya-VDS-VNC-Debian.png
  6. Меняем значение «ro» на «rw», а в конце отрезка дописываем «init=/bin/bash». После этого нажимаем сочетание клавиш «Ctrl» и «х» (английское) для перехода в аварийный режим.6-smena-parolya-VDS-VNC-Debian.png
  7. Набираем команду смены пароля «passwd» (→ Enter).7-smena-parolya-VDS-VNC-Debian.png
  8. Вводим новый пароль (→ Enter) и подтверждаем его (→ Enter). Набор происходит в «слепом» режиме (знаки не отображаются совсем).8-smena-parolya-VDS-VNC-Debian.png
  9. Сообщение об обновлении пароля появится в командной строке.9-smena-parolya-VDS-VNC-Debian.png
  10. Чтобы удостоверится, что все изменения перешли из оперативной на дисковую память применяем команду «sync» (→ Enter). После чего даём команду холодной перезагрузки сервера «reboot -f» (→ Enter).10-smena-parolya-VDS-VNC-Debian.png
  11. Пароль root виртуального сервера успешно заменён.11-smena-parolya-VDS-VNC-Debian.png

Как установить новый пароль root на VDS, когда он известен

Нужно создать удалённое подключение к виртуальному серверу по сетевому протоколу SSH. Проще всего это сделать через бесплатную программу-клиент PuTTY (для Windows) или встроенный SSH-клиент для Mac OS.

Есть много удобных серверных клиентов и для пользователей мобильных устройств. Например, JuiceSSH для Android или Termius для iOS.

  1. Скачайте архив с инсталлятором с официального сайта и установите программу.
  2. Запустите клиент. В открывшемся окне (графа «Имя хоста») укажите IP-адрес или доменное имя сервера и нажмите «Соединиться».12-zapusk-klienta-PuTTY-Debian-um.png
  3. Напишите логин (root) и существующий пароль. Не забывайте нажимать Enter, после ввода каждого значения. В целях безопасности вводимые символы на экране не отображаются.13-vvod-parolya-v-PuTTY-Debian-um.png
  4. Введите команду passwd, после чего наберите дважды новый пароль (после каждого набора Enter).14-smena-parolya-v-PuTTY-Debian-um.png
  5. Пароль root изменён.15-ustanovka-novogo-parolya-v-PuTTY-Debian-um.png

Используемые источники:

  • https://losst.ru/kak-smenit-parol-v-linux
  • https://linuxinsider.ru/kak-smenit-parol-v-linuks/
  • https://eternalhost.net/base/vps-vds/smena-parolya-root-debian

Ссылка на основную публикацию