- «Пользователи», гарантированно указывает на все пользователи на хосте?

Обычно на компьютерах Mac по умолчанию уже запущен ssh-agent.

$ps ax | grep ssh-agent
648   ??  S      0:00.09 /usr/bin/ssh-agent -l

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

Вам просто нужно запустить:

ssh-add

и ввести пароль.

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

ssh-add -K ~/.ssh/id_rsa
2
18.08.2018, 04:20
2 ответа

Утилита usersпредставляет собой очень маленькую программу, написанную на языке C -, всего около 150 строк кода. Поскольку это часть основных утилит GNU , вы можете загрузить утилиты и прочитать код из users.cфайла.

По умолчанию утилита usersявляется только оболочкой для utmpи wtmp. Есть два очевидных основных подхода к сокрытию того факта, что пользователь вошел в систему.

Первый подход заключается в изменении кода утилиты usersи замене двоичного кода /usr/bin/users.

Второй подход заключается в удалении следов из файлов журнала utmp, wtmp, lastlog, utmpx, wtmpxи т. д., которые могут существовать в *nix-системах.Для этого подхода доступны инструменты очистки журнала -, такие как cloak, zap, clearи т. д. Внимательно прочтите часть 3.4 из «ПОСЛЕ ПЕРЕРЫВА -В» в «ВЗЛОМ UNIX». '.

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

Некоторые дополнительные базовые и общие параметры регистрации для loginможно настроить в файле:

/etc/login.defs

Чтобы лучше понять с точки зрения администратора и пользователя, где usersутилита анализирует свою информацию, просто изучите файлы:

utmpdump /var/run/utmp
utmpdump /var/log/wtmp
sudo utmpdump /var/log/btmp

Дополнительно обратите внимание на примечание в UTMP (5)и WTMP (5)man:

Unlike various other systems, where utmp logging can be disabled by removing the file, utmp must always exist on Linux. If you want to disable who(1), then do not make utmp world readable.

The file format is machine-dependent, so it is recommended that it be processed only on the machine architecture where it was created.

Итак, ответ на вопрос :"Можно ли скрыть от утилиты usersфакт входа пользователя в систему?", -ДА, это возможно. Конкретный подход зависит от конкретной ситуации -это зависит от уровня доступа к системе *nix -и т. д.

1
27.01.2020, 22:02

Тривиально иметь «возможность выполнять системные команды и иметь доступ к системным файлам» в системе, не появляясь в файле /var/run/utmp, который читает users(1).

$ ssh testhost sh

, например, не создает указаний из usersна Centos 7 testhost, что кто-то работает sh, который вполне способен выполнять системные команды и получать доступ к системным файлам:

# users
root
# pstree | grep -3 'sh$'
        |-sshd-+-sshd---sshd
        |      |-sshd---bash-+-grep
        |      |             `-pstree
        |      `-sshd---sshd---sh
        |-sssd-+-sssd_be
        |      `-sssd_nss
        |-systemd-journal

Другой способ :запустить оболочку на каком-то старшем порту с помощью socatили чего-то подобного. Другой способ :запустить веб-сервер, который принимает команды, выполняет их и возвращает результаты. Другой способ :запланировать команды заранее с помощью at(1), а затем выйти из системы.

2
27.01.2020, 22:02

Теги

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