Darius,
Ну заморочился.
Система ubuntu-server 12.04.5
Первым делом устанавливаем lshell
apt-get install lshell
Юзер wel есть в системе.
Правим конфиг /etc/lshell.conf
Ничего там не раскомментируем! Просто добавляем в конце файла.
[wel]
sftp: 1 # разрешить коннект по sftp
allowed : ['cd','exit','ls','tar','mysqldump','mysql'] # разрешенные команды, можно добавить еще.
forbidden : [';', '&','`','$(', '${'] # управляющие символы запрещены
path : ['/tmp'] # разрешенные директории, кроме домашней директории, можно добавить еще
Меняем оболочку юзеру
root@websrw:/home/bukass# usermod -s /usr/bin/lshell wel
Все, при входе по ssh юзер блокируется.
You are in a limited shell.
Type '?' or 'help' to get the list of allowed commands
wel:~$ cd /
*** forbidden path -> "/"
*** You have 1 warning(s) left, before getting kicked out.
This incident has been reported.
wel:~$
Но по sftp эффекта нет.
Устанавливаем mysecureshell
В директории /etc/apt/sources.list.d/ создаем файл mysecureshell.list - записываем туда.
deb http://mysecureshell.free.fr/repository/index.php/ubuntu/12.04 testing main
deb-src http://mysecureshell.free.fr/repository/index.php/ubuntu/12.04 testing main
Добавляем ключ
gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys E328F22B; gpg --export E328F22B | sudo apt-key add -
После апдейта устанавливаем
apt-get install mysecureshell
Правим конфиг /etc/ssh/sshd_config
меняем строчку
Subsystem sftp /usr/lib/openssh/sftp-server
На
Subsystem sftp /bin/MySecureShell -c sftp-server
Перезапускаем ssh
Проверяем
bukass@ubunt:/etc$ sftp wel@
wel@'s password:
Connected to
sftp> cd /
sftp> ls
test
sftp> cd
You must specify a path after a cd command.
sftp>