El patrón que recomiendo es no systemd
sino configurar un usuario para que inicie sesión automáticamente y use la función de "inicio automático" de su escritorio para iniciar automáticamente VLC al iniciar sesión y comenzar a intentar transmitir el contenido.
Este enfoque manejará la configuración de $DISPLAY Y $XAUTHORITY por usted.
Este patrón se usa comúnmente en proyectos de quiosco Raspberry Pi, donde los usuarios desean que un navegador se inicie automáticamente y abra una URL a pantalla completa después de que se inicie el dispositivo.
На этот вопрос довольно сложный ответ из-за информации, которую вы ищете, и из-за того, что вы не предоставили очень много информации (дистрибутив Linux, версия, приложения, вариант использования ).
Вам потребуется объединить как минимум два набора журналов (, если не больше ), чтобы понять это, и если вы не напишете что-то специальное для этого, это займет много времени. работы по аудиту системы таким образом ежедневно, еженедельно или даже ежемесячно. Вам лучше исправить любые проблемы с вашим файлом sudoers и изучить, как вы должны контролировать и проверять пользователей, чем вам следует искать, как вы можете найти эту информацию постфактум.
/var/log/secure (RHEL/CentOS, /var/log/auth.log для Debian, изменения в зависимости от вашего дистрибутива и настроек )должны показывать вам, когда люди подключались через SSH и когда они выполнялись команды с помощью sudo; используя grep, вы можете найти их IP, а оттуда вы можете получить историю их подключений:
grep '$USER _ИМЯ' /var/log/secure
показывает мне вывод, подобный этому (, конечно, обработанный):
Nov 1 22:38:41 $HOSTNAME sshd[26732]: Accepted publickey for $USERNAME from $IP_ADDRESS port 51203 ssh2: RSA $HASH
Nov 1 22:38:41 $HOSTNAME sshd[26732]: pam_unix(sshd:session): session opened for user $USERNAME by (uid=0)
Nov 1 22:38:41 $HOSTNAME systemd-logind[471]: New session 3427 of user $USERNAME.
Nov 1 22:38:41 $HOSTNAME systemd: pam_unix(systemd-user:session): session opened for user $USERNAME by (uid=0)
Nov 1 22:46:37 $HOSTNAME sudo: $USERNAME : TTY=pts/0 ; PWD=$HOME ; USER=root ; COMMAND=/bin/grep $USERNAME /var/log/auth.log
Nov 1 22:46:37 $HOSTNAME sudo: pam_unix(sudo:session): session opened for user root by $USERNAME(uid=0)
Итак, из журнала безопасности/аутентификации я уже вижу IP-адрес, имя пользователя, временную метку подключения, все привилегированные команды, выполненные пользователем, и их временные метки.
Вы можете просмотреть полную историю команд пользователя, заменив $USER _NAME на имя пользователя и выполнив эту команду, однако, без меток времени. Это также непреднамеренно покажет, в каком каталоге они находятся.
su -c "history" $USER_NAME
показывает мне это от пользователя
500 exit
501 ls
502 cd Archive
503 ls
504 rm -rf *.NOTREAL
505 cd../
Я знаю, что этот человек (на самом деле я, получающий реальные -мировые примеры для этого )выполнил команду 501 при первом подключении к SSH, потому что команда выхода находится прямо перед ней (это плохо индикатор, потому что что, если бы они истекли по тайм-ауту вместо выхода? ), но как только они соединились,они переместились в каталог Archive и удалили все файлы.NOTREAL, а затем переместились в родительский каталог.
Основываясь на том, что я нахожу в журнале безопасности/аутентификации и истории пользователей, я обычно могу выяснить, что они делали в какое время, но это слабая связь. Это становится намного сложнее, если у вас есть пользователи, выполняющие такие действия, как подключение через ssh, а затем выполняющие sudo su -или sudo -i, чтобы работать как root во всем, поскольку истории в конечном итоге объединяются.
Если вы действительно хотите отслеживать такие вещи, вам действительно нужно посмотреть, как вы настроили учетные записи привилегированных пользователей, ваш файл sudoers, журналы и приложения. Я дал вам действительно рудиментарный способ выяснить это, но это далеко не лучший способ, и его нельзя использовать на регулярной основе в реальном -мировом сценарии.