Доброго дня. Постараюсь коротко. Серфинг в нете ответов не дал. Похожих тем не обнаружил. Уровень знаний "linux систем" скромный.
Есть сервант на Alt 10. Роль - sftp сервак. Настроен sshd_config стандартным набором параметров. Все работает. Но есть необходимость запретить пользователю выходить из домашнего каталога. А в идеале, чтобы у всех пользователей был просто разный уровень прав на запись ( chomod) внутри общего каталога, в который они проваливаются, когда подключаются через клиент.
Для этого было сделано:
root сдал владельцем общей шары для всех юзверей, со всеми правами.
# chown root:root /mnt/share1
# chmod 0755 /mnt/share1
Я так понял следующими командами привязывается шара с каталогом, который будет у пользователей
# mkdir -p /srv/ssh/jail
# mount -o bind /mnt/share1 /srv/ssh/jail[
Ну и чтобы не морочится при перезагрузки (fstab):
/mnt/share1 /srv/ssh/jail none bind 0 0
Создаю группу и пользователя без доступа к шелл-у.
# groupadd sftpusers
# useradd -g sftponly -s /usr/bin/nologin -d /srv/ssh/jail username
(тут был один нюанс. Баш выдал предупреждение, что каталог уже существует, файлы не скопированы. Не знаю на сколько это критично)
Задаю пароль
# passwd username
Ну и осталось поправить сам sshd (/etc/ssh/sshd_config)
Subsystem sftp /usr/lib/ssh/sftp-server
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
PasswordAuthentication no
в логах вот такие ошибки:
15:02:32 vSRV-Sftp-Ssh sshd[7847]: error: PAM: Application needs to call libpam again for UNKNOWN USER from XX.XX.XX.144
22 15:02:32 vSRV-Sftp-Ssh audit[7849]: USER_AUTH pid=7849 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:authentication grantors=? acct="пользователь" exe="/usr/sbin/sshd" hostname=XX.XX.XX.144 addr=XX.XX.XX.144 terminal=ssh res=failed'
Пробовал делать по другим мануалам. Но ответ примерно такой же. Заранее прошу прощения за возможно очевидные ошибки. Относительно недавно начал постигать linux.