Почему люди боятся писать пароли в командной строке?
Файл истории находится в ~/.history
, так что он доступен только пользователю, который выполнил команды (и root).
Почему люди боятся писать пароли в командной строке?
Файл истории находится в ~/.history
, так что он доступен только пользователю, который выполнил команды (и root).
export mypass=secret
и используетеa_command --password=$mypass
, вы увидитеsecret
вps
таблице.Ответы:
Командные строки не просто доступны в истории. Они также доступны, например, в выходных данных
ps -ocmd
или через/proc
файловую систему. (/proc/<pid>/cmdline
), гдеps
их читает.Кроме того, домашние каталоги пользователей часто читаются как в мире, так и в группах; Вы можете сделать файл истории доступным только для чтения пользователем, но это может не повлиять на удаление и восстановление.
источник
Пароли в командной строке - плохая идея. В дополнение к методам, рассмотренным в других ответах:
ps
)Пользовательские команды могут также отображаться в следующих местах:
Кроме того, пользовательские команды также могут отображаться при входе пользователей между системами, поэтому в целом это плохая практика, и ее следует всегда избегать.
источник
Проблема заключается в видимости параметров (в большинстве случаев для других пользователей, даже для пользователя root) во время выполнения команды. Смотрите вывод
источник