Я ищу способ связать некоторые скрипты bash. Вроде как вы включаете php. Я хочу, чтобы мой password.sh попросил пройти> Утилиту запуска> Утилиты проверяет, правильно ли это> если да, то перейдет к следующему шагу> .. Что-то подобное Я предполагаю, что мне лучше всего использовать файл для хранения моего закодированного пароля msd5 (я обязательно найду способ его заблокировать).
Так это возможная задача? если так, то должен ли я начать читать? если сейчас, что будет лучше использовать для этой функции. но все еще используете мой bash в качестве бэкэнда?
Вы можете вставить некоторые скрипты Python в ваш bash-скрипт для проверки паролей в вашем брелоке.
1) Откройте морского конька и скопируйте имя вашего пароля (например, «Ubuntu One»).
2) В вашем скрипте вы можете получить пароль (измените «Ubuntu One» на имя вашего пароля).
#!/bin/bash
password=`
python << END
import gnomekeyring as gk
keyring = gk.get_default_keyring_sync()
keyItems = gk.list_item_ids_sync(keyring)
if not gk.get_info_sync(keyring).get_is_locked():
for i in keyItems:
key = gk.item_get_info_sync(keyring, i)
if key.get_display_name() == 'Ubuntu One':
print key.get_secret()
END`
echo "This is the password in your keyring which name is \"Ubuntu One\": $password "
exit 0
Кажется, что необходимо держать некоторых в секрете в сценарии, и это не делает, кажется, правильное место для этого.
Думайте об этом: сценарий должен быть читаемым пользователем, чтобы быть интерпретированным ударом, как Вы препятствовали бы тому, чтобы пользователь копировал сценарий, удаляя какие-либо проверки из него и выполняя эту измененную версию?
Необходимо использовать некоторую внешнюю утилиту для проверки пароля, например, использовать брелок для ключей гнома, как предложено @desgua
Кроме того, если Вы хотите, чтобы пользователь ввел ИХ СОБСТВЕННЫЙ пароль, можно попробовать прием sudo, сказать, что Вы сделаете это для имени пользователя тестера:
chown admin /path/to/script.sh
chmod 700 /path/to/script.sh
дайте пользователям, которые должны запустить этот скрипт sudo права выполнить этот сценарий (можно ограничить их sudo права ТОЛЬКО на этот сценарий), чтобы сделать, так добавьте что-то вроде этого к /etc/sudoers
файл (используют visudo для редактирования этого файла): tester ALL = (admin) /path/to/script.sh
теперь пользовательский тестер мог работать sudo -u admin /path/to/script.sh
и попросится HIS у СОБСТВЕННОГО пароля sudo. Он не сможет выполнить другие команды на имени администратора или считать содержание сценария.