だから私はVPS - CentOS Linuxインストールを使用しています。私のサーバーにvsFTPdがあります。現在、rootユーザーを介してサーバーへの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
- ユーザーが正しいフォルダに正しくログインしたが、ユーザーが別のディレクトリに「戻る」ナビゲートできることを観察しました。ユーザーが特定のフォルダにとどまって、後ろに「参照」できなくなることを望みます。。
どんなアイデアがありますか?
chrootingに関するさまざまな記事が見つかりましたが、上記の手順でchrootingを使用する方法が見つかりませんでした。
答え1
これはとても簡単です。
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().
つまり、ユーザーはユーザーのホームディレクトリとして構成されたフォルダにのみアクセスできます。以下にユーザーパスワード入力の例を示します。
upload_ftp:x:1001:1001::/var/www/sites/:/bin/bash
次のコマンドを使用して、ユーザーのホームディレクトリを設定します。
usermod -d /var/www/my.domain.example/ exampleuser
メモ:私の例では、このユーザーはLinux内のいくつかのスケジュールされたジョブの有効なユーザーでもあります。この要件がない場合は、/sbin/nologin
ユーザーシェルをbash
。
答え2
含めるように構成を変更した後chroot_local_user=YES
/usr/sbin/nologin
パスワードが破損した場合は、一部のリスクを軽減するためにユーザーのシェルを変更できます(ホームディレクトリも設定)。シェル/etc/shells
もリストする必要があります。それ以外の場合、認証は失敗します。
usermod -d /var/www/my.domain.example -s /usr/sbin/nologin 例ユーザー
-d, --home HOME_DIR ユーザーの新しいログインディレクトリです。 -m オプションを指定すると、現在のホームディレクトリの内容が新しいホームディレクトリに移動されるか、ディレクトリがまだ存在しない場合に作成されます。
-s, --shell SHELL ユーザーの新しいログインシェル名です。このフィールドを空白に設定すると、システムはデフォルトのログインシェルを選択します。
答え3
以下は、ユーザーを設定し、FTP(SSHなしなど)を介してのみユーザーアクセスを許可し、特定の(ユーザーホーム)ディレクトリへのアクセスを制限する手順です。プロフェッショナルソフトウェア:
新しいユーザーを追加:
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 ~
答え4
ルートフォルダの権限を次のように設定します。711ルートアカウントを使用してください。