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

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

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

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

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 
  • Ошибка: нет такого раздела. Аварийное спасение
  • Установить виртуальную сеть для клиента Ubuntu 16.04
  • Что прошивка CR-48 позволяет установить Linux?
  • Выключение неиспользуемых жестких дисков
  • Linux-раздел удален, GRUB больше не загружается
  • Запуск сценария при запуске до запуска X в Ubuntu 9.10
  • Переустановите Windows 8 в раздел на OEM-машине для двойной загрузки (ubuntu)
  • Какая файловая система заменяется на Linux
  • Зачем ./ необходимо запустить исполняемый файл?
  • Как подключиться к веб-серверу, работающему на виртуальной машине, когда виртуальная машина находится в режиме NAT?
  • Что произойдет, если я установлю гостевые дополнения VirtualBox на хост?
  • Interesting Posts
    Давайте будем гением компьютера.