В stdout fabric.operations.sudo есть избыточная «информация о последнем входе» - PullRequest
0 голосов
/ 12 февраля 2019

Когда я запускаю fabric.operations.sudo для получения информации от удаленной виртуальной машины (ее ядро ​​- 4.14.35 EL7.6), такой как «date +% s», ожидаемый результат должен быть «1549853543»,но в моем тесте это «Последний вход в систему: понедельник, 11 февраля 02:53:18 UTC 2019 по pts / 0 \ r \ n1549853543».

Я выполнил команду "ssh user @ vm 'date +% s'", результат нормальный (только число).

Кто-нибудь знает, в чем причина?Я также исправил «PrintLastLog» на «нет» в /etc/ssh/sshd_config.

 result = sudo('date +%s').stdout.strip()

 run_time = int(result)  => exception occurs

За исключением: 1549853543

Actual: недопустимый литерал для int () с основанием 10: 'Последний вход в систему: Пн 11 февраля 02:53:18 UTC 2019 в pts / 0 \ r \ n1549853543'

1 Ответ

0 голосов
/ 13 февраля 2019

Исправьте 2 места, где, по-видимому, исчезают последние данные для входа:

  1. / etc / pam.d / system-auth:

    требуется сеанс pam_lastlog.so silentshowfailed

2: / etc / ssh / sshd_config:

# Per CCE-CCE-80225-6: Set PrintLastLog yes in /etc/ssh/sshd_config
PrintLastLog no
...