Почему не следует использовать пароли в командной строке?

Почему люди боятся писать пароли в командной строке?

Файл истории находится в ~/.history , поэтому он доступен только пользователю, выполнившему команды (и root).

Командные строки доступны не только в истории. Они также доступны, например, на выходе ps -ocmd или через файловую систему /proc . ( /proc/<pid>/cmdline ), где ps читает их.

Кроме того, домашние каталоги пользователей часто читаются во всем мире или в группах; вы можете сделать файл истории доступным только для чтения, но это может не выдержать удаление и отдых.

Пароли в командной строке – это всего лишь плохая идея. В дополнение к методам, обсуждаемым в других ответах:

  • / Proc
  • список процессов ( ps )
  • файл истории пользователя

Пользовательские команды могут отображаться и в этих местах:

  • журналы аудита
  • / Вар / Журнал / *

Кроме того, пользовательские команды также могут отображаться при входе пользователей между системами, поэтому в целом это плохая практика, и ее следует всегда избегать.

Проблема заключается в наглядности параметров (для других пользователей в большинстве случаев, даже для root) во время выполнения команды. См. Вывод

 ps -eo pid,user,args