tom
ユーザーにディレクトリへのSFTPアクセスを許可したいと思います/var/www/html/my_project/
。ディレクトリへのSFTPアクセスを許可したくありません/var/www/html/
。
現在Apacheユーザーが所有しています/var/www/html/my_project/
。ユーザーにtomディレクトリとapacheディレクトリへのアクセス権を/var/www/html/
付与するだけです。/var/www/html/my_project/
アクセスが許可されると、tomは/var/www/html/my_project/の下のすべてのディレクトリにアクセスできます。
私を助けてください。私はこの問題で長い間苦労しています。
答え1
/etc/ssh/sshd_config
私のファイルでは、次のようなものを使用します。
Match User tom
ChrootDirectory /var/www/html/my_project/
AllowTcpForwarding no
X11Forwarding no
ForceCommand internal-sftp
次に、Tomがディレクトリにアクセスできることを確認してください。tom
ターゲットディレクトリの上のすべてのディレクトリに対して少なくとも「x」(実行)権限が必要なため、これは難しい場合があります。ほとんどのLinux / Unixバージョンでは、/var/www/html/は通常誰でもアクセスできます。
私はおそらくmy_project
ディレクトリを所有し、tom
TomをApacheグループに含めます。 Apacheがapache:apache(ユーザー:グループ)として実行されている場合は、次のものを適用する必要があります。
~からhttp://www.cyberciti.biz/faq/howto-linux-add-user-to-group/
# usermod -a -G apache tom
my_project
ユーザーtom
とグループがディレクトリ全体を所有するようにしますapache
。
# chown -R tom:apache /var/www/html/my_project/
ディレクトリ全体my_project
をグループが完全に書き込み可能tom
で、グループが読み取り/実行できるようにしますapache
。
# chmod -R 750 /var/www/html/my_project/
注:生成されたすべてのファイルは、tom
Tomのユーザーとその基本グループの所有者になります。上記の例はtom
グループに追加されますが、デフォルトグループにはapache
なりません。apache
これは、Apacheサーバーが新しいファイルにアクセスできないことを意味します。この問題を解決するには、apache
betom
のデフォルトグループをに設定しますuseradd -g apache tom
。
答え2
/var/www/html/my_project/
SFTPサーバーを適切に設定して、ユーザーtomをchrootできます。 Apacheからのアクセスは許可されており、Tomは自分のchrootディレクトリに入ることはできません。
追加のヘルプを提供するには、使用しているSFTPサーバーを表示する必要があります。