Недавно мы нашли обходной путь, который выглядит так:
/ И т.д. / SSH / sshd_config:
...
Subsystem sftp internal-sftp
Match Group sftponly
ChrootDirectory /home
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp
права доступа к каталогу:
root@server:~ # chown root:root /home
root@server:~ # chmod 111 /home
root@server:~ # chmod 700 /home/*
Теперь /homeудовлетворяет требованиям ChrootDirectoryи не может быть перечислено ограниченными пользователями, но sftponlyпользователи не смогут войти в систему, если их домашние каталоги настроены как обычно ( /home/$LOGNAME): в среде chrooted их домашние каталоги находятся не внутри, /homeа непосредственно под root ( /).
Обходной путь 1
Установите дома пользователей с ограниченным доступом так, как они выглядят в chroot:
root@server:~ # usermod -d /username username
предостережение 1
Если кто-либо из неограниченных пользователей или какой-либо сценарий администрирования использует расширение тильды bash, ~usernameоно будет расширяться до /usernameсих пор, а это не то, что подразумевается.
Также администратор, который создает sftponlyпользователей, должен помнить, чтобы использовать нестандартный дом. Решается с помощью сценария. Который админ должен помнить, чтобы использовать.
Обходной путь 2
Это альтернатива предыдущей, которую мы в итоге использовали:
root@server:~ # ln -s . /home/home
То есть создайте символическую ссылку внутри /homeсвоего собственного dirname. Теперь под chroot /home/usernameуказывает на тот же каталог, что и без chroot. Для пользователя с ограниченными правами, вошедшего в систему с помощью sftp, это будет выглядеть как /username. Этот каталог доступен для записи его владельцу (пользователю с ограниченными правами). Пользователь с ограниченными правами не может перечислить свои родительские или домашние каталоги ни одного из братьев по имени.
Единственное, что особенного в sftponlyпользователе - это его участие в sftponlyгруппе. Нам было легче иметь дело, чем обходной путь 1.
пещеры 2
- Вы не можете иметь пользователя с именем «home» с домашним каталогом
/home/home
- Вы должны быть осторожны со скриптами, которые пересекают
/homeиерархию и следуют по символическим ссылкам.
chrootпользователь edChrootDirectory? Могут ли они получить к нему доступ?