2016-12-07 7 views
0

短い話ですが、私は小さなWebホスティングサーバーを構築する初期段階にあります。私は顧客のために新しいサイトを作成すると、この処理が行われます。Ubuntu - PHPを使ってLinux/Apacheユーザーがホームディレクトリ以外のものを表示させないようにする

新しいLinuxユーザーは、ホームディレクトリに作成され
  • および/ sbinに/ nologinに
  • ユーザーはグループsftpusers
  • のpublic_htmlを作成するに追加され
  • ユーザーのホームディレクトリに
  • 新しいApacheのバーチャルホストは、サイトが開始され
  • を作成され、プロセスはMPM-ITKとAssignUserId
を使用して、新しいLinuxのユーザーとして実行されています

これまでのところすべて井戸です。ユーザーはホームディレクトリにsftpしか置くことができず、そこにファイルを置くことができます。 WinSCPなどのSFTPクライアントを使用している場合、ユーザーはホームディレクトリ外をナビゲートできません。

問題は、彼らはPHPのビットでホームディレクトリの外のものをリストすることができるということです。これは、すべてを一覧表示されますの/ etc /:

$scan = scandir(/etc); 
foreach ($scan as $i) { 
echo $i; 
} 

これは私の問題であり、それはに対処する必要がありますが、私は実際にどのように知りません。

私は、/ etc/ssh/sshd_config:

Subsystem  sftp internal-sftp 
Match Group sftpusers 
    ChrootDirectory /home/%u 
    ForceCommand internal-sftp 
    AllowTCPForwarding no 
    X11Forwarding no 

追加情報が必要な場合は私に知らせてください。

答えて

関連する問題