Я хотел бы безопасно задать пароль пользователю, а затем передать его подпроцессу. Откройте для запуска команду, которая требует его.
Я видел этот вопрос и этот один , но мне интересно, смогу ли я безопасно передать пароль через среду подпроцесса следующим образом:
import subprocess, os
user_password = input("what is you password?")
my_env = os.environ.copy()
my_env["userpass"] = user_password
my_command = "python --version"
subprocess.Popen(my_command, env=my_env)
Будет ли пароль сброшен после закрытия скрипта python? Я посмотрел на документацию подпроцесса , но это не объясняется.
Когда я добавляю эту строку print(os.environ['userpass'])
в конце своего кода для печати среды ОС, я могу восстановить пароль пользователя. Означает ли это, что пароль может быть доступен другим запущенным процессам?
Редактировать: я не могу передать пароль, так как команда, которую я использую, не читает пароль со стандартного ввода