«Виртуальный киоск SSH». Работает ли «PermitEmptyPasswords yes»? - Как сделать пользователя ssh с пустым паролем, чтобы его могли использовать случайные пользователи?

Для ваших попыток aptitude важно отметить, что ~ не означает «ищите следующее flags в статусе пакета '. ~ i - это сокращение для ~ installed , а затем d интерпретируется как литерал d , то есть пакеты, имена которых содержат буква d . Я просмотрел документацию для aptitude ( / usr / share / doc / aptitude / html / en / index.html в моей системе) для шаблона поиска, который удовлетворил бы ваш вопрос, но я не уверен, что это возможно. ~ action может помочь вам на полпути, но я тоже не уверен в получении статуса.


Альтернативой использованию aptitude является использование dpkg-query с grep .

dpkg-query -Wf '$ {db: Status-Abbrev} $ {Package} \ n' | grep ^ r

Это будет искать пакеты, которые находятся в состоянии удалено , но не очищены.

dpkg-query -Wf '$ {db: Status-Abbrev} $ {Package} \ n' | grep ^ i [^ i]

Это будет искать пакеты, отмеченные как установленные , но не полностью установленные. Если вы не хотите включать пакеты, ожидающие обработки триггерами, вы можете вместо этого использовать ^ i [ncHUF] .


Чтобы получить только второй столбец вывода (имя пакета), вы можете использовать sed :

dpkg-query -Wf '$ {db: Status-Abbrev} $ {Package} \ п '| sed -n 's / ^ rR \? \ s * // p'

для поиска удаленных пакетов и

dpkg-query -Wf '$ {db: Status-Abbrev} $ {Package} \ n' | sed -n 's / ^ i [^ i] R \? \ s * // p'

, чтобы найти пакеты, которые нужно установить, но не полностью.


Чтобы немного подробнее рассказать об этом, пакеты Debian состоят из двух частей:

  • Действие , предназначенное для выполнения над пакетом. Это может быть установка пакета, удаление пакета, удержание пакета или очистка пакета.

  • статус пакета , который описывает фактическое состояние пакета в вашей системе.

Вышеупомянутый вызов dpkg-query перечисляет действие и статус пакета, по одному символу каждый, продолжая имя пакета в начале каждой строки.

Чтобы найти пакеты, которые были удалены, но не очищены, мы просто ищем пакеты с действием «удалить»: grep ^ r . Чтобы найти пакеты, которые установлены или предназначены для установки, но еще не настроены, мы ищем пакеты, действие которых равно установить , но статус которых отличается от установлен : grep ^ i [^ i] .

2
01.05.2016, 11:09
2 ответа

Вам также необходимо сообщить PAM , что вы хотите разрешить пустые пароли. Это описывается в некотором устаревшем руководстве . Но вкратце:

sudo sed -i 's/nullok_secure/nullok/' /etc/pam.d/common-auth

должен работать.

6
27.01.2020, 21:59

Чтобы правильно защитить ssh-доступ, вы должны не разрешать вход без аутентификации. Настройте ключ RSA для аутентификации, и тогда клиент сможет использовать его вместо пароля.

0
27.01.2020, 21:59

Теги

Похожие вопросы