{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Аникин: заметки с тегом lshell",
    "_rss_description": "Блог об администрировании Linux, BSD и не только",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/anikin.pw\/tags\/lshell\/",
    "feed_url": "https:\/\/anikin.pw\/tags\/lshell\/json\/",
    "icon": "https:\/\/anikin.pw\/pictures\/userpic\/userpic@2x.jpg?1478690884",
    "authors": [
        {
            "name": "Петр Аникин",
            "url": "https:\/\/anikin.pw\/",
            "avatar": "https:\/\/anikin.pw\/pictures\/userpic\/userpic@2x.jpg?1478690884"
        }
    ],
    "items": [
        {
            "id": "54",
            "url": "https:\/\/anikin.pw\/all\/izoliruem-polzovatelya-ssh-v-domashney-direktorii-s-pomoschyu-ls\/",
            "title": "Изолируем пользователей ssh в домашней директории с помощью lshell",
            "content_html": "<p>Установим lshell, он есть в репозиториях большинства дистрибутивов. Установка для дебианоподобных дистров:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># apt-get install lshell<\/code><\/pre><p>Затем открываем конфигурационный файл и редактируем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># nano \/etc\/lshell.conf<\/code><\/pre><p>Там в основном все просто и понятно, обратим внимания на некоторые переменные в разделе [default].<br \/>\nКоманды разрешённые для выполнения:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">allowed         : ['ls','echo','cd','ll','rsync','mkdir']<\/code><\/pre><p>В allowed нельзя вписывать программы которые умеют бродить по каталогам например mc, т.к из lshell выполнение передается в bash и такие программы смогут выйти за пределы домашнего каталога. Поэтому тут будьте внимательны.<\/br><br \/>\nКоманды которые можно выполнять через ssh:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">overssh         : ['ls','rsync']<\/code><\/pre><p>В конце конфигурационного файла можно указать индивидуальные настройки для определенного юзера примерно так:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">[user]\nallowed: ['ls','echo','cd','ll','rsync','mkdir','cp','mv']\npath: ['\/backups']\noverssh: ['ls', 'rsync']<\/code><\/pre><p>Тут например мы разрешили пользователю user выполнять команды указанные в allowed, кроме домашней папки он может ходить в \/backups, и может выполнять по ssh ls и rsync.<\/br><br \/>\nПосле редактирования сохраняемся и и закрываем файл.<br \/>\nТеперь нужно изменить shell у пользователей, которых мы ограничиваем.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># chsh -s \/usr\/bin\/lshell user\n# chsh -s \/usr\/bin\/lshell user1\n# chsh -s \/usr\/bin\/lshell user2\n.....<\/code><\/pre><p>Теперь пробуем зайти по ssh user’ом и проверяем, что он изолирован в домашней папке и может выполнять только команды указанные в allowed.<\/p>\n",
            "date_published": "2015-04-01T16:20:07+03:00",
            "date_modified": "2015-04-01T16:29:10+03:00",
            "tags": [
                "centos",
                "debian",
                "lshell",
                "ssh",
                "ubuntu"
            ],
            "_date_published_rfc2822": "Wed, 01 Apr 2015 16:20:07 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "54",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        }
    ],
    "_e2_version": 4134,
    "_e2_ua_string": "Aegea 11.3 (v4134)"
}