Недійсні символи в паролі Linux?


0

Я намагаюся автоматизувати створення користувачів Linux за допомогою bash

# Below password does NOT work
#USER_PASS="Eb*rx>BN?3x3SKd"

# Below password works!
USER_PASS="qwer1234"

# 2: Create sample user and set password
USER="sampleuser"
ssh root@$HOST "useradd -m $USER -s /bin/bash"
ssh root@$HOST "echo $USER:$USER_PASS | chpasswd"
ssh root@$HOST 'cat /etc/passwd'
echo "test ssh login with $USER"
sshpass -p $USER_PASS ssh $USER@$HOST

Вищезазначене працює добре, коли я використовую пароль 'qwer1234', але не працює, коли я використовую інший, починаючи з 'Eb *'.

Чи є правила щодо паролів, символів Linux тощо?



1
Я не можу відповісти на чітке запитання щодо правил, але першою причиною того, як фантазійний пароль не працює, може бути перенаправлення на віддалену сторону, коли ви викликаєте ssh root@$HOST "echo $USER:$USER_PASS | chpasswd". Зараз BN?3x3SKdтам файл і його вміст є sampleuser:Eb*rx. Це через >.
Каміль Маціоровський

Крім того, я думаю , що віддалена сторона отримує Eb*rx>BN?3x3SKdв лапках рядки , так *і ?може викликати оболонки підстановку.
Каміль Маціоровський
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.