Причина, по которой это не сработало, заключается в том, что usermodпараметр -p предполагает, что пароль уже зашифрован.
Из usermodсправочной страницы:
-p, --password PASSWORD
The encrypted password, as returned by crypt(3).
Устанавливать пароль таким способом не рекомендуется.
Вместо этого вы должны использовать passwd <username>. Это должно (как usermod) быть выполнено от имени пользователя root (если вы не меняете пароль пользователя, вошедшего в систему).
Чтобы сменить пароль для пользователя foo.
sudo passwd foo
Это запросит новый пароль.
Загляните на справочную страницу для passwdполучения дополнительной информации о настройке, например, времени истечения.
Неинтерактивная однострочная команда для изменения пароля пользователя:
sudo usermod -p `perl -e "print crypt("new-password","Q4")"` john
usermod -pтребует зашифрованный пароль для работы. Обратите внимание, что new-passwordэто будет видно для пользователей, которые могут перечислить процессы.
вы обнаружите, что ЛЮБОЙ пароль, начинающийся с "borkling", будет работать, например,
borkling88 borklingjars
хотя «borkline» не будет работать, потому что, как указывалось ранее, любой пароль, который имеет «borkling» в качестве префикса, также будет работать, когда пароль установлен таким образом.
Способ, которым afaik не имеет этого нежелательного побочного эффекта, является следующим:
Ответы:
usermod -p
Флаг ожидает данные на пароль уже в зашифрованном виде.Используйте
openssl passwd
для генерации зашифрованных данных или сделайте так:источник
openssl passwd
ожидает пароль от 0 до 10 символов.Причина, по которой это не сработало, заключается в том, что
usermod
параметр -p предполагает, что пароль уже зашифрован.Из
usermod
справочной страницы:Устанавливать пароль таким способом не рекомендуется.
Вместо этого вы должны использовать
passwd <username>
. Это должно (какusermod
) быть выполнено от имени пользователя root (если вы не меняете пароль пользователя, вошедшего в систему).Чтобы сменить пароль для пользователя foo.
Это запросит новый пароль.
Загляните на справочную страницу для
passwd
получения дополнительной информации о настройке, например, времени истечения.Удачи!
источник
Вы можете использовать
passwd
:Вам не нужно,
sudo
если вы сами являетесь суперпользователемисточник
sudo
требуется пароль root :)superuser
представляет?Способ присвоения пароля с помощью usermod (что фактически и запрашивал OP) - использовать
crypt()
хешированный пароль для-p
аргумента.Затем используйте это в
usermod -p
аргументе командной строки:источник
Неинтерактивная однострочная команда для изменения пароля пользователя:
usermod -p
требует зашифрованный пароль для работы. Обратите внимание, чтоnew-password
это будет видно для пользователей, которые могут перечислить процессы.источник
Здесь следует добавить следующее. Этот метод:
sudo usermod -p
perl -e "print crypt("new-password","Q4")"
johnозначает, что несколько очень похожих паролей будут работать ВСЕ. Например, на сервере Oracle Linux 7.4 и рабочем столе Ubuntu 17.10 рассмотрим:
sudo usermod -p
perl -e "print crypt("borkling","Q4")"
orabuntuТеперь, если кто-то делает:
су - орабунту
вы обнаружите, что ЛЮБОЙ пароль, начинающийся с "borkling", будет работать, например,
borkling88 borklingjars
хотя «borkline» не будет работать, потому что, как указывалось ранее, любой пароль, который имеет «borkling» в качестве префикса, также будет работать, когда пароль установлен таким образом.
Способ, которым afaik не имеет этого нежелательного побочного эффекта, является следующим:
(кредит за это идет в "Sandeep" здесь:
/programming/2150882/how-to-automatics-add-user-account-and-password-with-a-bash-script )
В RedHaty Linux: (опустите колесо -G, если вы не хотите предоставлять привилегии sudo)
sudo useradd -m -p $ (openssl passwd -1 $ {ПАРОЛЬ}) -s / bin / bash -G wheel $ {USERNAME}
В Debiany Linux (опустите -G sudo, если вы не хотите использовать sudo privs):
sudo useradd -m -p $ (openssl passwd -1 $ {ПАРОЛЬ}) -s / bin / bash -G sudo $ {USERNAME}
источник
Просто введите
Таким образом, обычный пользователь может изменить свой пароль без привилегий root, если у вас его нет.
источник