Сначала я предположу, что у вас в sshd_config
есть что-то вроде:
Port 22
PermitRootLogin no
ChallengeResponseAuthentication no
UsePAM no
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
Во-вторых, я предполагаю, что вы выполняете монтирование nullfs как обычный пользователь. Обычным пользователям обычно не разрешается монтировать файловые системы. Если я попробую как root -, у меня сработает.
Проверьте его как root (либо sudo
, либо su
), чтобы убедиться, что пути указаны правильно. Затем добавьте его в/etc/fstab
/usr/local/www/nginx/projectname /usr/home/username nullfs rw 0 0
Этого должно быть достаточно.
В этом случае нет смысла позволять обычному пользователю монтировать что-либо. Но это можно сделать, установив vfs.usermount=1
в /etc/sysctl.conf
и добавив правила devfs
, если необходимо /dev/
.
Наконец, -если вы используете ChrootDirectory
, вы можете просто установить дома пользователей напрямую как /usr/local/www/nginx/projectname
. Косвенность с использованием nullfs может обеспечить дополнительный уровень безопасности. Но если вы доверяете своему sshd_config
, то этого достаточно.
Вам придется изменить конфигурацию джейла, чтобы разрешить монтирование нулевых файлов внутри джейла. Обычно это не разрешено внутри тюрьмы по соображениям безопасности. Я бы рекомендовал против этого.
Вы можете настроить монтирование nullfs на хост-системе (в /etc/fstab ), но с FreeNAS это сложнее из-за способа хранения конфигурации.