Разрешить группе UNIX доступ только к одному файлу через SSH

Я хотел бы создать группу пользователей UNIX, которая имеет доступ только к одному конкретному файлу Python через SSH. То есть, они не должны иметь возможности запускать другие команды / программы или просматривать любую часть файловой структуры.

Я уже справился с этим, выполнив скрипт при входе в систему и отключив прерывания клавиатуры, но это не идеально, поскольку использование может все еще подключаться через WinSCP и просматривать структуру файла. Я изучил настройку тюрьмы, которая ограничивает пользователей определенным каталогом, но это кажется излишним для моих целей и все равно позволит им получить доступ к оболочке. Какое наиболее эффективное / безопасное решение?

Редактировать с более подробной информацией по запросу: сценарий должен выполняться на сервере, поскольку он часто подключается и обновляет / считывает базу данных, также находящуюся на сервере. Пользователи будут взаимодействовать друг с другом на сервере через скрипт. Я не хочу, чтобы пользователи загружали / устанавливали что-либо, кроме клиента SSH, но я хочу ограничить доступ ко всем частям сервера, кроме сценария.

  • Фирменные цвета терминала Ubuntu для iTerm2
  • Возврат из двойной загрузки в Windows
  • Как загрузить все зависимости пакета в автономном режиме
  • Как добавить центр сертификации (CA) в Ubuntu?
  • SSD AES-256 аппаратное шифрование - как настроить?
  • Схема разбиения на HDD + SSD-система
  • Что прошивка CR-48 позволяет установить Linux?
  • CHKDSK в Linux ...?
  • One Solution collect form web for “Разрешить группе UNIX доступ только к одному файлу через SSH”

    Мое решение состояло в том, чтобы следовать комментарию Кеннета и настроить lshell – было довольно легко и быстро сделать.

    1. Запустите sudo apt install lshell чтобы получить lshell
    2. Создайте группу UNIX (например, sudo groupadd testgroup группу sudo groupadd testgroup )
    3. Добавьте необходимых пользователей (ов) в вашу группу (например, sudo usermod -a -G testgroup username )
    4. Также добавьте пользователей (пользователей) в группу lshell (например, sudo usermod -a -G lshell username )
    5. Измените /etc/lshell.conf нужную конфигурацию (см. Ниже)
    6. Установите lshell в качестве оболочки по умолчанию для пользователей (например, chsh -s /usr/bin/lshell username )

    В приведенной ниже конфигурации testuser может запускать script.py только после входа в систему через SSH. Они не могут подключаться к SCP / SFTP или просматривать структуру файла через оболочку.

     [grp:testgroup] login_script : "python /some/path/script.py" path : "/some/path/" forbidden : ["ls", "echo", "cd"] scp : 0 sftp : 0 
    Interesting Posts

    Исправление проблемы библиотеки на E71

    Cygwin фатальная ошибка неспособна переназначить .. Что это значит?

    Как создать самозаверяющий сертификат с openssl?

    IPCONFIG только для одного сетевого адаптера

    Извлечь первую страницу из нескольких PDF-файлов

    Заменить «Paint» в качестве программы по умолчанию для команды «Изменить» проводника

    Что произойдет, если произойдет сбой при установке зашифрованного тома?

    Есть ли способ восстановить драйвер с установочного компакт-диска Windows 7?

    Папка всегда становится доступной только для чтения. Даже когда я меняю его

    Используйте ЖК-дисплей ноутбука A в качестве дополнительного монитора для ноутбука B

    Универсально исправить / повторно внедрить встроенное обложку альбома?

    Установление соединения SSH между машинами за брандмауэрами

    Сколько времени, пока неиспользуемый жесткий диск не потеряет свои данные?

    Почему обратная косая черта отображается как «W» + зачеркивание в Netbeans?

    Ошибка обновления Windows 8.1 с кодом ошибки 0x80070652

    Давайте будем гением компьютера.