<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Аникин: заметки с тегом lshell</title>
<link>https://anikin.pw/tags/lshell/</link>
<description>Блог об администрировании Linux, BSD и не только</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.3 (v4134)</generator>

<itunes:subtitle>Блог об администрировании Linux, BSD и не только</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Изолируем пользователей ssh в домашней директории с помощью lshell</title>
<guid isPermaLink="false">54</guid>
<link>https://anikin.pw/all/izoliruem-polzovatelya-ssh-v-domashney-direktorii-s-pomoschyu-ls/</link>
<pubDate>Wed, 01 Apr 2015 16:20:07 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/izoliruem-polzovatelya-ssh-v-domashney-direktorii-s-pomoschyu-ls/</comments>
<description>
&lt;p&gt;Установим lshell, он есть в репозиториях большинства дистрибутивов. Установка для дебианоподобных дистров:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# apt-get install lshell&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Затем открываем конфигурационный файл и редактируем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# nano /etc/lshell.conf&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Там в основном все просто и понятно, обратим внимания на некоторые переменные в разделе [default].&lt;br /&gt;
Команды разрешённые для выполнения:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;allowed         : ['ls','echo','cd','ll','rsync','mkdir']&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В allowed нельзя вписывать программы которые умеют бродить по каталогам например mc, т.к из lshell выполнение передается в bash и такие программы смогут выйти за пределы домашнего каталога. Поэтому тут будьте внимательны.&lt;/br&gt;&lt;br /&gt;
Команды которые можно выполнять через ssh:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;overssh         : ['ls','rsync']&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В конце конфигурационного файла можно указать индивидуальные настройки для определенного юзера примерно так:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;[user]
allowed: ['ls','echo','cd','ll','rsync','mkdir','cp','mv']
path: ['/backups']
overssh: ['ls', 'rsync']&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Тут например мы разрешили пользователю user выполнять команды указанные в allowed, кроме домашней папки он может ходить в /backups, и может выполнять по ssh ls и rsync.&lt;/br&gt;&lt;br /&gt;
После редактирования сохраняемся и и закрываем файл.&lt;br /&gt;
Теперь нужно изменить shell у пользователей, которых мы ограничиваем.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# chsh -s /usr/bin/lshell user
# chsh -s /usr/bin/lshell user1
# chsh -s /usr/bin/lshell user2
.....&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Теперь пробуем зайти по ssh user’ом и проверяем, что он изолирован в домашней папке и может выполнять только команды указанные в allowed.&lt;/p&gt;
</description>
</item>


</channel>
</rss>