新しいユーザーをchrootできません。

新しいユーザーをchrootできません。

Apacheサーバーで特定のフォルダーにのみアクセスできる新しいユーザーアカウントを作成する必要がありますが、sshでルートディレクトリを変更しようとすると、サーバーはそれを拒否します。まず、sshd_configファイルを編集して各アカウントのルートディレクトリを自動的に変更しようとしましたが、うまくいかないことを確認し、usermodを使用して変更してみましたが、その結果は次のとおりです。

>sudo usermod -R /var/www/userFolder sftpUser1
usermod: user 'sftpUser1' does not exist

ただし、sftpUser1は存在します。これはpasswdファイルの行で、ホームディレクトリを変更するために使用された-dコマンドが正しく機能するのと同じ行です。

sftpUser1:x:1001:1001::/var/www/userFolder:/bin/false

これが私がsshd_configに追加したものです。

Match Group sftpusers
ChrootDirectory /var/www/%u
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no

ユーザーとの接続を試みた後に Auth.log ファイルに表示される内容です。

pam_unix(sshd:session): session opened for user sftpUser1 by (uid=0)
fatal: bad ownership or modes for chroot directory component "/"

このユーザーはsftpusersグループに属しています。

答え1

' -R'usermodオプションは、ユーザーのルートを変更せずにusermod内部アクションのルートを変更するため、これを使用できます。chroot環境でのユーザーの変更

編集する:私はあなたが望むものがSSH経由でログインしたときにユーザーをchroot環境に置くことを前提としています。これを行うには、「ChrootDirectorysshd_configオプションを使用できます。

関連情報