FreeBSDをローカルWebサーバーとして使用しており、SFTPを使用してプロジェクトファイルにアクセスしたいと思います。ユーザーを作成しましたが、そのユーザーが自分のホームディレクトリに移動できないようにしたいと思います。
ユーザーシェル:/usr/sbin/nologin
ユーザーのホームページ:/usr/home/username
ユーザーとしてSFTP接続を確立できますが、操作のためにプロジェクトファイルにアクセスできるようにする必要があります。
プロジェクトファイルは次の場所にあります。/usr/local/www/nginx/projectname
関連する質問に対する回答に基づいて、以下を試しました。
mount_nullfs /usr/local/www/nginx/projectname /usr/home/username
しかし、これは」許可されていない操作」。
しばらく検索してみましたが、なぜこれがうまくいかないのかわかりません。どうすればいいですか?
編集する:
- ルートとしてインストールしてみてください
- ユーザーホームをプロジェクトディレクトリにルートできました。
- このサーバーはfreenasの刑務所ですが、両方のディレクトリが同じサーバー上にあることに注意する必要があります。
答え1
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 マウントを実行するとします。一般ユーザーは通常ファイルシステムをマウントできません。ルートで試してみると私に効果的です。
ルート(sudo
または)でsu
テストしてパスが正しいことを確認してください。それから/etc/fstab
/usr/local/www/nginx/projectname /usr/home/username nullfs rw 0 0
それだけで十分です。
この場合、一般ユーザーが何でもインストールできるようにすることは意味がありません。ただし、必要に応じてこれを設定してvfs.usermount=1
ルールを/etc/sysctl.conf
追加するだけです。devfs
/dev/
最後に、nullfsを使用している場合は、ChrootDirectory
ユーザーのホームページを直接設定できます/usr/local/www/nginx/projectname
。 nullfsを使用した間接アドレッシングは、追加のセキュリティ層を提供できます。しかし、あなたがあなたのものを信じるなら、sshd_config
それで十分です。
答え2
刑務所の内部にnullfがマウントされるように、刑務所の構成を変更する必要があります。これは通常、セキュリティ上の理由から刑務所では許可されていません。私はそれに反対することをお勧めします。
ホストシステム(/etc/fstab)でnullfsマウントを設定できますが、FreeNASでは設定を保存する方法のため、これはより困難です。