Разрешить группе 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 
  • Что случилось с настройкой GRUB?
  • Где я могу скачать программу для ubuntu 9?
  • Как автоматизировать работу dhclient в ubuntu?
  • Двойная загрузка Windows 8 и Ubuntu?
  • Что делать с поврежденной SD-картой: переформатировать ее или уничтожить?
  • Karmic стерт мой рабочий стол
  • Что означает звездочка после имени файла при вводе `ls -l`?
  • Напишите мне, когда кто-нибудь запустит sudo
  • Firefox 3.5.2 на Ubuntu Jaunty
  • Зачем создавать много разделов?
  • Изменение часового пояса с dpkg-reconfigure tzdata и debconf-set-selection
  • Почему Ubuntu монтирует неправильный раздел с правами root?
  • Interesting Posts

    Форматировать разблокированные ячейки с VBA в защищенном листе, но не заблокированные ячейки

    Количество вкладок в Chrome или Firefox

    Что я могу сделать с использованием диска на 99% (всего 0,9 МБ / с)?

    VMWare: этот хост не поддерживает VT. Невозможно воспроизвести 64-битную VM из-за отсутствия флага VT

    Внедрение INotifyPropertyChanged – существует ли лучший способ?

    Максимизированные окна не мотивируются при подключении внешнего монитора

    Загрузка обновлений Windows навсегда

    Windows 10 современных / метро не работает

    Как удаленный рабочий стол (RDP) от Win 7 или XP до Win CE

    Постоянно удалять файлы с флешки

    Как привязать приложения к определенному сетевому адаптеру

    Двойная загрузка Windows 8?

    Планировщик запуска триггеров в Windows 7, когда компьютер просыпается от сна / спящего режима

    Какие папки linux для установки SSD-диска

    Могу ли я настроить Windows 7 VPN, чтобы только заблокированные в Китае сайты маршрутизировались через VPN?

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