Получите пароль текущего пользователя из имени пользователя и передайте его в скрипт Bash.

Получите пароль текущего пользователя из имени пользователя и передайте его в скрипт Bash.

Я пишу скрипт Bash в Linux для удаленного доступа к Windows-боксу. Я хотел бы захватить текущего пользователя и пароль для этого пользователя, чтобы скрипт мог войти в сеанс TS. Я создаю тонкий клиент с Linux.

решение1

Боюсь, система не знает ваш пароль. Никогда. Она знает только какой-то хэш вашего пароля. Природа хэшей такова, что их нельзя преобразовать обратно в открытый текст. Если вы вводите свой пароль, система использует ту же хэш-функцию, которая использовалась для создания пароля, и сравнивает хэши. Итак, захват пароля: во-первых: плохая идея оставлять его плавающим в костюме, сделанном скриптом bash в открытом тексте, если только вы не абсолютный эксперт по безопасности в Linux и не знаете, что делаете. Во-вторых: это совершенно невозможно сделать, и на то есть веская причина.

Однако есть и другие способы входа без пароля. Например, SSH/SSH-Serverпредлагает аутентификацию с помощью системы открытого/закрытого ключа. Или вы можете использовать среду с единым входом, как это возможно с Kerberos. Поскольку второй вариант довольно излишен, если его еще нет в вашей сети, используйте аутентификацию на основе ключа ssh. Существуетвопрос на askUbuntuоб этом. Вам нужно будет найти sshd для windwos. Википедияспискинесколько. Это, скорее всего, ограничит ваш доступ к полю Windows текстовой консолью.

Для gui-logins вы можете повозиться с Krdcили Remmina. Но я не знаю, насколько хорошо вы сможете интегрировать их в скрипт, не говоря уже о входе без пароля.

решение2

Введите команду в терминале

$ sudo apt-get install zenity

то вам нужно создать свой bash-скрипт со следующим содержимым:

zenity --password

Связанный контент