что означает звезда в файле passwd?

14

У меня есть компьютер, с которого мне нужно загрузиться, но пароли кажутся поддельными. Кроме того, я не могу смонтировать диск для записи, и это процессор MIPS, поэтому я не могу вставить его в другую машину, чтобы запустить его.

В любом случае, в файле passwd есть пользователи, которые выглядят так, со звездочкой после имени пользователя. это значит пустой пароль или как?

root:8sh9JBUR0VYeQ:0:0:Super-User,,,,,,,:/:/bin/ksh
sysadm:*:0:0:System V Administration:/usr/admin:/bin/sh
diag:*:0:996:Hardware Diagnostics:/usr/diags:/bin/csh
daemon:*:1:1:daemons:/:/dev/null
bin:*:2:2:System Tools Owner:/bin:/dev/null
uucp:*:3:5:UUCP Owner:/usr/lib/uucp:/bin/csh
sys:*:4:0:System Activity Owner:/var/adm:/bin/sh
adm:*:5:3:Accounting Files Owner:/var/adm:/bin/sh
lp:VvHUV8idZH1uM:9:9:Print Spooler Owner:/var/spool/lp:/bin/sh
nuucp::10:10:Remote UUCP User:/var/spool/uucppublic:/usr/lib/uucp/uucico
auditor:*:11:0:Audit Activity Owner:/auditor:/bin/sh
dbadmin:*:12:0:Security Database Owner:/dbadmin:/bin/sh
rfindd:*:66:1:Rfind Daemon and Fsdump:/var/rfindd:/bin/sh
j0h
источник
12
Обратите внимание, что вы разместили хеши паролей DES. Хэши паролей DES довольно легко взломать в наши дни. Не подключайте этот компьютер к сети, пока вы не измените пароли.
Жиль "ТАК - перестань быть злым"
2
Я бы рекомендовал не подключив компьютер к сети Интернет общего пользования на все , чтобы быть совершенно откровенным. Разместите его в сети, защищенной брандмауэром, достаточно долго, чтобы отбросить с него данные, конечно, но тогда он должен быть удален. Если операционная система так стара, как кажется, она, вероятно, пронизана дырами в безопасности от ядра, например, с предсказуемыми начальными порядковыми номерами TCP .
Звол
Пароль для lpпользователя смехотворно слаб. А поскольку пароли на основе DES ограничены ASCII и могут содержать только 8 символов, вы не получите более 53 бит энтропии. Переключитесь на более сильный хеш, если можете, и измените пароли.
Касперд
Добавление некоторых цифр к моему предыдущему комментарию: Мой ноутбук может взломать lpпароль за 630 миллисекунд. rootПароль намного сильнее. Я позволил атаке грубой силой пройти пять часов, прежде чем прекратил ее. Он не сломал rootпароль в течение этих пяти часов. Но вы, конечно, все равно должны следовать предыдущей рекомендации и сменить пароль.
Касперд
для записи вы знаете ту историю, что самым популярным паролем является пароль? ну пароль1 не может быть далеко позади. действительно смехотворно слабый.
Хильдред

Ответы:

22

Вы должны проверить man passwd :

Если зашифрованный пароль установлен на звездочку (*), пользователь не сможет войти в систему, используя login (1), но все равно может войти в систему, используя rlogin (1), запустить существующие процессы и инициировать новые через rsh (1), cron. (8), at (1) или почтовые фильтры и т. Д. Попытка заблокировать учетную запись простым изменением поля оболочки приводит к тому же результату и дополнительно позволяет использовать su (1).

Обычно учетные записи *в поле пароля не имеют пароля, например: отключен для входа в систему. Это отличается от учетной записи без пароля, что означает, что поле пароля будет пустым и что почти всегда является плохой практикой.

taliezin
источник
13

Учетные записи с паролями - это учетные записи с бейсбольным бредом во втором поле:

root:8sh9JBUR0VYeQ:0:0:Super-User,,,,,,,:/:/bin/ksh
lp:VvHUV8idZH1uM:9:9:Print Spooler Owner:/var/spool/lp:/bin/sh

Этот компьютер, похоже, использует традиционный crypt(3)хэш пароля на основе DES . Этот хеш довольно слаб по современным стандартам; если вам не удается получить root-доступ каким-либо иным способом, вы, вероятно, можете восстановить пароль с помощью грубой силы, используя John the Ripper или аналогичное программное обеспечение. Кроме того, технически это не base64, а более старая, похожая кодировка, но вам, вероятно, не нужно беспокоиться об этом.

Различие между упомянутыми :*:и :!:упомянутыми в других ответах слишком новыми, чтобы иметь отношение к вашей проблеме. В старой системе UNIX в поле пароля могут отображаться только три разные вещи:

alice::1001:1001:Alice Can Log In Without A Password:/home/alice:/bin/ksh
bob:WSy1W41d4D1Gw:1002:1002:Bob Must Supply A Password:/home/bob:/bin/ksh
carol:ANYTHING ELSE:1003:1003:Carol Cannot Log In At All:/home/carol:/bin/ksh

Если содержимое поля пароля пустое, вы можете войти без пароля.

Если содержимое поля является действительным cryptхешем какого-либо пароля, вы можете войти с этим паролем.

В противном случае вы не сможете войти как этот пользователь. *это просто обычная вещь для использования - это визуально явно не действительный хэш пароля. Вероятно, его выбрал тот, кто написал passwdпрограмму.

(Смысл наличия идентификаторов пользователей в файле паролей, которые не могут войти в систему, состоит в том, что они могут иметь собственные файлы, у них все еще могут быть cronзадания, и демоны могут использовать их setuidдля подтверждения этой идентичности. На самом деле, рекомендуется запускать все демоны (которые не должны запускаться как root) под такими идентификаторами пользователей, так что у вас есть некоторый уровень уверенности в том, что под этим идентификатором работает только демон.)

(Учетные записи /dev/nullв поле оболочки заблокированы от rootиспользования suдля запуска программ под этим идентификатором пользователя, а также от обычного входа в систему. В настоящее время вы с большей вероятностью видите /bin/falseили /sbin/nologinиспользуете для этой цели; я подозреваю, что в этой системе последний делает не существует, а первый является сценарием оболочки.)

(Пароль для Боба - «bobpassw», зашифрованный по старому алгоритму, но на современном компьютере с Linux; это может быть не то, что ваш компьютер будет производить для того же пароля и соли. Одна из причин, по которой старый алгоритм считается бесполезным больше он имеет жесткий верхний предел 8 символов в пароле.)

(Я знаю, что система действительно старая, потому что она использует хеширование паролей на основе DES, потому что она не использует теневой файл, а также потому, что оболочка root является /bin/kshчем-то более новым и эргономичным.)

zwol
источник
Я думал, что пароль Боба не совсем соответствует форме.
Джошуа
@ Джошуа исправил это сейчас :)
zwol
Если ему нужно загрузиться в машину, не будет ли это более быстрой загрузкой в ​​режиме восстановления или загрузкой с USB live CD / DVD и сменой пароля на другой, чем при использовании john the ripper?
YoMismo
@YoMismo На этом старом компьютере (я догадываюсь, что он с начала 1990-х годов) может не быть режима восстановления. Возможно, у него есть возможность загрузки с какого-либо съемного носителя, но может быть довольно сложно найти загрузочный компакт-диск или кассету или что-то еще. Современный liveCD определенно не будет работать.
Звол
@zwol Я бы попробовал запустить систему с реальным дистрибутивом и chroot к его старой системе, скорее всего passwd , не нужно было бы монтировать --bind / dev / sys ....
YoMismo
8

Это означает, что он отключен для прямого входа в систему. Это пользователь, который используется для запуска сервисов или для использования в rlogin. Проверьте https://en.wikipedia.org/wiki/Passwd#Password_file

Marco
источник
Этот компьютер довольно старый, я не был уверен, изменились ли значения со временем.
15:30
@WouterVerhelst: он отключен для входа в систему. Это не отключено для rlogin. Вы должны посмотреть на ответ более внимательно.
Брайан
Я изменил свой ответ. Я надеюсь, что теперь это более правильно для @WouterVerhelst.
Марко
3

О вашем актуальном вопросе смотрите ответ Талиезина (и примите тот;)

О вашей другой проблеме: найдите строку 8sh9JBUR0VYeQ на диске, чтобы выяснить, в каких дисковых блоках он находится. Затем поместите эти дисковые блоки в файл, замените эту строку на известный хэш пароля (старая крипта) () одинаковой длины) и запишите дисковые блоки обратно в старое место - возможно, предварительно сделав полную резервную копию диска. Поскольку этот подход не меняет размер файла, метаданные файловой системы не требуют обновления.

Бодо Тизен
источник