sftp はディレクトリへのアクセスを制限します。

sftp はディレクトリへのアクセスを制限します。

SFTPを介してこのフォルダのルートへのフル書き込みアクセス権を付与する必要があります。成功しましたが、ルートディレクトリに書き込み権限を与える方法が見つかりませんでした。

この問題を解決する一般的な方法は、各ユーザーのサブフォルダを作成することですが、そのサブフォルダにはサイト全体で使用される既存のファイルが含まれていることがわかりました。

簡単に言うと:

/ should not be readable (this is correct)
/uploads/ is not writable (**but should** by any means)
/uploads/* is writable (and should)

これが私がこれまでにしたことです:

/var/www/uploads is owned by root:root with 755 permissions. (775 prevents user to even log in)
/var/www/uploads/* is owned by newuser:sftp 775 permissions.

関連/etc/ssh/sshd_config

Match group sftp
   ChrootDirectory %h
   AllowTcpForwarding no
   X11Forwarding no
   ForceCommand internal-sftp

AllowGroups ssh-users sftp

ユーザーは次のように作成されます。

useradd -d /var/www/uploads -m newuser -g sftp -s /bin/false

ありがとうございます!

答え1

成功しましたが、ルートディレクトリに書き込み権限を与える方法が見つかりませんでした。

これは不可能です。chrootchrootしているユーザーはこのディレクトリに書き込むことはできません。マンページで定義する必要があるものは次のとおりですsshd_config

セッションの開始時に、パス名sshd(8)のすべてのコンポーネントがルートが所有するディレクトリであることを確認してください。いいえ他のユーザーまたはグループが作成できます。

答え2

システムでユーザー間で共有されるディレクトリには、すべてのユーザーアクセス権をカバーする権限が必要です。

私は共有ディレクトリとコンテンツに1777を使用する傾向があります。ファイル所有者以外のユーザーが削除するのを防ぎ、すべてのユーザーにフルアクセスを提供します。

権限オクテットの最初の 1 は、削除および権限の変更権限を所有者に制限する固定ビットです。

関連情報