.png)
Debian apache2サーバーで、Webサイトツリーのサブディレクトリ(Webサイトのホームディレクトリ:/ホーム/ウェブサイト/public_html/特定のユーザーのみにアクセスを希望:/home/website/public_html/boutique/modules/sftpwkmodules
メインウェブサイトのユーザーはすべてのツリー(userweb)にアクセスできます。
しかし、ユーザーにアクセスが必要ですsfkモジュールツリー内のサブディレクトリに
ユーザーを作成しましたが、機能しません。sfkモジュール、およびグループsftpwkモジュール
これらの行を次のように設定しましたsshd_configファイル:
Match group sftpwkmodules
ChrootDirectory /home/website/public_html/boutique/modules/wkmanagesuppliers
ForceCommand internal-sftp
AllowTCPForwarding no
X11Forwarding no
しかし、接続するとsftpこのユーザーでは許可されていません。ログには、致命的な所有権が間違っているようです。chroot ディレクトリ コンポーネント "/home/website/public_html/" の所有権またはモードが不正です
しかし、このユーザーにサブディレクトリへのアクセス権を与えるためだけに、ツリー全体の所有権を変更することはできません。これを機能させる方法はありますか?
答え1
権限を変更する前に、Web サーバーにファイルとディレクトリに対する読み取り権限が少なくとも必要であることを考慮してください。また、ユーザー sfkmodules によって作成されたファイル/ディレクトリは、そのユーザーの所有となり、umask によっては Web サーバーから読み取れない場合があります。
検討すべき解決策としては、Web ルートの外部にある各自のディレクトリでユーザーを chroot し、ファイルがドロップされたときにそれを検出してそれらのファイルを Web ルートに移動する何らかのウォッチドッグを用意することです。こうすることで、所有権と権限を制御できます。
PERL と cron は、その取り組みに役立ちます。
答え2
グループを作成し、必要なユーザーとアクセスを許可する他のユーザーをグループに追加して、必要な権限を割り当てます。今回は chroot を使用しないでください。
以下のコマンドは CentOS 用ですが、概要は理解できると思います。
sudo groupadd groupname
sudo usermod -a -G groupname admin
sudo usermod -a -G groupname user1
sudo chown -R admin:groupname /home/website/public_html/boutique/modules/wkmanagesuppliers