<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sudo on IT it's FUN</title><link>https://mksit.sknt.ru/tags/sudo/</link><description>Recent content in Sudo on IT it's FUN</description><generator>Hugo</generator><language>ru</language><lastBuildDate>Wed, 21 Jan 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://mksit.sknt.ru/tags/sudo/index.xml" rel="self" type="application/rss+xml"/><item><title>Я знаю что ты делал в Sudo</title><link>https://mksit.sknt.ru/posts/%D1%8F-%D0%B7%D0%BD%D0%B0%D1%8E-%D1%87%D1%82%D0%BE-%D1%82%D1%8B-%D0%B4%D0%B5%D0%BB%D0%B0%D0%BB-%D0%B2-sudo/</link><pubDate>Wed, 21 Jan 2026 00:00:00 +0000</pubDate><guid>https://mksit.sknt.ru/posts/%D1%8F-%D0%B7%D0%BD%D0%B0%D1%8E-%D1%87%D1%82%D0%BE-%D1%82%D1%8B-%D0%B4%D0%B5%D0%BB%D0%B0%D0%BB-%D0%B2-sudo/</guid><description>&lt;p&gt;В sudo есть замечательная фича - логирование ввода/вывода всего, что делает пользователь.&lt;/p&gt;
&lt;p&gt;Включаем логирование &lt;strong&gt;LOG_INPUT:LOG_OUTPUT&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# /etc/sudoers.d/ansible&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ansible &lt;span class="nv"&gt;ALL&lt;/span&gt;&lt;span class="o"&gt;=(&lt;/span&gt;ALL&lt;span class="o"&gt;)&lt;/span&gt; NOPASSWD:LOG_INPUT:LOG_OUTPUT: /bin/sh -c echo&lt;span class="se"&gt;\ &lt;/span&gt;BECOME-SUCCESS-&lt;span class="o"&gt;[&lt;/span&gt;a-z&lt;span class="o"&gt;]&lt;/span&gt;*&lt;span class="se"&gt;\ &lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="se"&gt;\ &lt;/span&gt;/usr/bin/python3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Теперь всё что делает пользователь через sudo логируется.
По дефолту логи пишутся в /var/log/sudo-io, но можно и поменять&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# /etc/sudoers
Defaults log_output
Defaults iolog_dir=/var/log/sudo-io
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Просмотр сессии&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# вывести все сессии&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudoreplay -l user ansible
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Jan &lt;span class="m"&gt;21&lt;/span&gt; 05:03:23 &lt;span class="m"&gt;2026&lt;/span&gt; : ansible : &lt;span class="nv"&gt;HOST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;qadro-1 &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;CWD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/home/ansible &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;USER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;root &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;TSID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;00/01/5W &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;COMMAND&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/bin/sh -c &lt;span class="nb"&gt;echo&lt;/span&gt; BECOME-SUCCESS-pvbadwlaiykgkvamphxervazgnbfypji &lt;span class="p"&gt;;&lt;/span&gt; /usr/bin/python3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Jan &lt;span class="m"&gt;21&lt;/span&gt; 05:03:23 &lt;span class="m"&gt;2026&lt;/span&gt; : ansible : &lt;span class="nv"&gt;HOST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;qadro-1 &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;CWD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/home/ansible &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;USER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;root &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;TSID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;00/01/5X &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;COMMAND&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/bin/sh -c &lt;span class="nb"&gt;echo&lt;/span&gt; BECOME-SUCCESS-ctkhcyneyuapwotnsmdcmaolyrkebjai &lt;span class="p"&gt;;&lt;/span&gt; /usr/bin/python3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# вывести сессию 00/01/5X&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudoreplay 00/01/5X
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# или посмотреть в нужный файл&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# ll /var/log/sudo-io/00/01/5X&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 164K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwx------ &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jan &lt;span class="m"&gt;21&lt;/span&gt; 05:03 ./
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwx------ &lt;span class="m"&gt;218&lt;/span&gt; root root 4.0K Jan &lt;span class="m"&gt;21&lt;/span&gt; 05:03 ../
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw------- &lt;span class="m"&gt;1&lt;/span&gt; root root &lt;span class="m"&gt;136&lt;/span&gt; Jan &lt;span class="m"&gt;21&lt;/span&gt; 05:03 log
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw------- &lt;span class="m"&gt;1&lt;/span&gt; root root &lt;span class="m"&gt;915&lt;/span&gt; Jan &lt;span class="m"&gt;21&lt;/span&gt; 05:03 log.json
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw------- &lt;span class="m"&gt;1&lt;/span&gt; root root &lt;span class="m"&gt;25&lt;/span&gt; Jan &lt;span class="m"&gt;21&lt;/span&gt; 05:03 stderr
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw------- &lt;span class="m"&gt;1&lt;/span&gt; root root 128K Jan &lt;span class="m"&gt;21&lt;/span&gt; 05:03 stdin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw------- &lt;span class="m"&gt;1&lt;/span&gt; root root &lt;span class="m"&gt;382&lt;/span&gt; Jan &lt;span class="m"&gt;21&lt;/span&gt; 05:03 stdout
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r-------- &lt;span class="m"&gt;1&lt;/span&gt; root root &lt;span class="m"&gt;94&lt;/span&gt; Jan &lt;span class="m"&gt;21&lt;/span&gt; 05:03 timing
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw------- &lt;span class="m"&gt;1&lt;/span&gt; root root &lt;span class="m"&gt;25&lt;/span&gt; Jan &lt;span class="m"&gt;21&lt;/span&gt; 05:03 ttyin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw------- &lt;span class="m"&gt;1&lt;/span&gt; root root &lt;span class="m"&gt;25&lt;/span&gt; Jan &lt;span class="m"&gt;21&lt;/span&gt; 05:03 ttyout
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item></channel></rss>