私のWebサーバー(Debian)をSFTPサーバーとして使用して、特定の従業員にアクセスを提供したいと思います。ルートの下の dir 構造は次のとおりです。
/FTPUSERS/UserName_1
、… /FTPUSERS/UserName_N
。
私のウェブサイトはいつものように下にあります/opt/lampp/htdocs/SiteName
。私は、従業員が/FTPUSERS
どの手段を使用しても、コンソールSSH / GUI-FTPClientsを介してのみこのディレクトリにアクセスできることを願っています。chroot
それらを防ぐ正しい方法ではありませんか?航海別のディレクトリに?それともそれらを防ぐための別の方法がありますか?教えてください。
情報LAMPP
。 /opt/lampp/htdocs/以下の現在のユーザーとグループはですroot and root
。php.netディレクトリが存在する必要があると言われていますnobody and nobody
。これが権限を設定する正しい方法ですか?
編集する:
私のオペレーティングシステムはDebian Lenny 3です。現在実行中のデーモンは、openssh-sftpserver
ftpアクセスでポート21をブロックしました。ただし、sftpはまだポート22で実行されています。従業員はsftp and ssh
端末からログインできます。特定のユーザーのコンソールモード操作を回避するには、Webサイト管理者とrootアカウントのみがすべてのアクセス権を持っている必要があります。また、ユーザーが/FTPUSERS
GUI FTPクライアント(WinSCPなど)を使用してディレクトリ外を閲覧するのを防ぎたいと思います。
答え1
sshd_configを確認してください。
SFTP内部のchrootを設定したいかもしれません。
/ TFTPROOTはchroot-dirになります。
これはtftpよりも安全です。
以下は良いチュートリアルです:
答え2
-dオプションを指定してuseraddコマンドを使用すると、次のようにユーザー(ftpuserなど)とそのホームディレクトリ(/ homedir)を追加できます。
useradd ftpuser -d /homedir
passwd ftpuser
新しいパスワードを入力するように求められます。
Changing password for user <username>
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
/etc/passwd で、このユーザーのシェルを /sbin/nologin として編集します。
vi /etc/passwd ftpuser:x:506:508::/homedir:/sbin/nologin
chroot_listを有効にする:
vi /etc/vsftpd/vsftpd.conf chroot_list_enable=YES (default follows) chroot_list_file=/etc/vsftpd.chroot_list
ftpuser
その後、ファイルにユーザーを追加する必要があります。/etc/vsftpd.chroot_list
vi /etc/vsftpd.chroot_list ftpuser
vsftpdを再起動します。
/etc/init.d/vsftpd restart