Как сменить пароль с помощью usermod?

Для LightDM, который находится в последней версии Ubuntus, основанной на Unity, я использовал этот ответ: настройка XDMCP для lightdm, порты не прослушиваются

И вам, вероятно, также потребуется добавить параметр SeatDefaults в ответ, т. е.

[SeatDefaults]
xserver-allow-tcp=true

И вам также может потребоваться разрешить доступ к локальному серверу с помощью

xhost +<remote hostname> 

или просто

xhost + 

, чтобы полностью отключить его

1
задан 11 March 2016 в 21:11

6 ответов

Флаг usermod -p ожидает, что данные будут паролем уже в зашифрованном формате.

Используйте openssl passwd для генерации зашифрованных данных или выполните следующие действия:

[ f1]
14
ответ дан 25 May 2018 в 11:28

Причина, по которой это не сработало, заключается в том, что опция -p usermod ожидает, что пароль будет зашифрован уже.

Из справочной страницы usermod:

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

Вместо этого вы должны использовать passwd <username>.

Чтобы изменить пароль для пользователя foo.

sudo passwd foo

d5] Это вызовет новый пароль.

Посмотрите man-страницу для passwd для получения дополнительной информации о настройке, например, времени истечения времени.

Удачи! [ ! d7]

5
ответ дан 25 May 2018 в 11:28

Просто введите

passwd

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

1
ответ дан 25 May 2018 в 11:28

Способ назначить пароль с помощью usermod (что и требовал OP) - использовать хешированный пароль crypt() для аргумента -p.

SALT="Q9"
PLAINTEXT="secret_password"
HASH=$(perl -e "print crypt(${PLAINTEXT},${SALT})")
echo "Password Hash = \"${HASH}\""

Затем используйте это в аргументе командной строки usermod -p:

usermod -p ${HASH} john
1
ответ дан 25 May 2018 в 11:28

Неинтерактивная команда одиночной строки для изменения пароля пользователя:

sudo usermod -p `perl -e "print crypt("new-password","Q4")"` john

usermod -p требует зашифрованного пароля для работы. Обратите внимание, что new-password будет отображаться для пользователей, которые могут перечислять процессы.

1
ответ дан 25 May 2018 в 11:28
  • 1
    неинтерактивный - это огромное спасибо. – Phineas Dashevsky 10 July 2017 в 17:39

Что-то, что нужно добавить здесь, следующее. Этот метод:

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

Теперь, если вы это сделаете:

su - orabuntu

вы обнаружите, что ЛЮБОЙ пароль, начинающийся с «borkling», будет работать, например

borkling88 borklingjars

, хотя «borkline» не будет работать, потому что как было сказано ранее, любой пароль, который имеет «borkling» в качестве префикса, также будет работать, когда пароль будет установлен таким образом.

. Способ к тому, что afaik не имеет этого нежелательного побочного эффекта, следующий :

(кредит для них относится к «Sandeep» здесь: https://stackoverflow.com/questions/2150882/how-to-automatically-add-user-account-and-password-with-a -bash-script)

On RedHaty Linuxes: (опустите «-G колесо», если вы не хотите, чтобы sudo privs были предоставлены)

sudo useradd -m -p $ (openssl passwd -1 $ {PASSWORD}) -s / bin / bash -G wheel $ {USERNAME}

В Debiany Linuxes (опустите -G sudo, если вы не хотите sudo privs): [!d15 ]

sudo useradd -m -p $ (openssl passwd -1 $ {PASSWORD}) -s / bin / bash -G sudo $ {USERNAME}

0
ответ дан 25 May 2018 в 11:28

Другие вопросы по тегам:

Похожие вопросы: