だから私はVPS-CentOS Linuxをインストールしています。サーバーにvsFTPdがあります。現在、ルートユーザー経由でサーバーにSFTPアクセスできますが、サーバー上の特定のディレクトリにのみFTPアクセスできる新しいユーザーを作成しようとしています。次のようにしました。
1. mkdir /var/www/mydomain.com
2. mkdir /var/www/mydomain.com/html
3. useradd <-username>
4. passwd <-username>
5. chown –R <-username> /var/www/mydomain.com
5. groupadd <-groupname>
6. gpasswd -a <-username> <-groupname>
7. chgrp -R <-groupname> /var/www/mydomain.com
8. chmod -R g+rw /var/www/mydomain.com
私が苦労しているのは、アクセス権のみを持つユーザーを作成することです/var/www/mydomain.com
-ユーザーが正しいフォルダに正しくログインしていることを確認しましたが、ユーザーは他のディレクトリに「戻る」ことができます。 ユーザーが特定のフォルダにとどまり、「閲覧」できないようにしたい。
何か案は?
私はchrootに関するさまざまな記事を見つけましたが、上記の手順で使用するためにそれを理解していません。
とても簡単です。
Vsftpd.confファイルに次のオプションを追加する必要があります
chroot_local_user=YES
設定ファイル内のドキュメントは一目瞭然です:
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
これは、ユーザーがユーザーのHOMEとして設定したフォルダーにアクセスできることを意味します。以下に、ユーザーのpasswdエントリの例を示します。
upload_ftp:x:1001:1001::/var/www/sites/:/bin/bash
次のコマンドでユーザーのホームディレクトリを設定します
usermod -d /var/www/my.domain.example/ exampleuser
注:私の例では、このユーザーはLinux内のいくつかのスケジュールされたタスクの有効なユーザーでもあります。この必要がない場合は、ユーザーのシェルをbash
ではなく/sbin/nologin
に変更してください。
chroot_local_user=YES
を含めるように設定を変更した後
ユーザーのシェルを/usr/sbin/nologin
に変更すると、パスワードが漏洩した場合にリスクが軽減されます(ホームディレクトリも設定します)。シェルも/etc/shells
にリストされている必要があります。そうでない場合、認証は失敗します。
usermod -d /var/www/my.domain.example -s/usr/sbin/nologin exampleuser
-d、--home HOME_DIRユーザーの新しいログインディレクトリ。 -mオプションを指定すると、現在のホームディレクトリの内容が、まだ存在しない場合に作成される新しいホームディレクトリに移動されます。
-s、--Shell SHELLユーザーの新しいログインシェルの名前。このフィールドを空白に設定すると、システムはデフォルトのログインシェルを選択します。
ユーザーを設定し、FTP経由でのみユーザーにアクセスを許可(つまりSSHなし)し、proftpd:
新しいユーザーを追加:adduser newusername
パスワードを設定してください: passwd newusername
ユーザーのホームディレクトリをデフォルトから新しいフォルダに変更します。
usermod -d /target/directory username
shells
ファイルを編集:vi /etc/shells
と追加/dev/null
最後に
newusername
ファイルのpasswd
エントリを変更します:vi /etc/passwd
たす /./
の前にnewusername
を付けると、エントリは次のようになります。
newusername:x:502:502::/home/ftp/./newusernamehomedirectory/:/dev/null
編集/etc/proftpd/proftpd.conf
ファイルし、行のコメントを解除しますDefaultRoot ~