-
chrootを使用する方法: chrootは、ユーザーを特定のディレクトリ以下に制限するための一般的な手法です。以下は、chrootを使用してSFTPアクセスを特定のディレクトリパスに制限する例です。
# /etc/ssh/sshd_config ファイルを編集する Subsystem sftp internal-sftp Match Group sftpusers ChrootDirectory /path/to/directory ForceCommand internal-sftp X11Forwarding no AllowTcpForwarding no
上記の例では、
ChrootDirectory
ディレクティブを使用して/path/to/directory
にアクセスを制限しています。Match Group
ディレクティブを使用して、特定のグループ(例:sftpusers
)に属するユーザーにのみ制限を適用します。 -
許可リストを使用する方法: 制限をかけるディレクトリパスの許可リストを作成し、それ以外のディレクトリへのアクセスを拒否する方法もあります。以下は、許可リストを使用してSFTPアクセスを制限する例です。
# /etc/ssh/sshd_config ファイルを編集する Subsystem sftp internal-sftp Match Group sftpusers ForceCommand internal-sftp X11Forwarding no AllowTcpForwarding no AuthorizedKeysFile /etc/ssh/sftp_allowlist/%u # /etc/ssh/sftp_allowlist/ ディレクトリに許可リストを作成する # 例: /etc/ssh/sftp_allowlist/user1 /path/to/directory
上記の例では、
AuthorizedKeysFile
ディレクティブを使用して許可リストのディレクトリパスを指定しています。Match Group
ディレクティブを使用して、特定のグループに属するユーザーにのみ制限を適用します。 -
パーミッションを使用する方法: 制限をかけるディレクトリパスのパーミッションを設定することで、アクセスを制限することも可能です。以下は、パーミッションを使用してSFTPアクセスを制限する例です。
# 制限をかけるディレクトリ以下のパーミッションを設定する chmod 700 /path/to/directory
上記の例では、
chmod
コマンドを使用してディレクトリのパーミッションを700
に設定し、所有者以外のユーザーからのアクセスを制限しています。
上記の方法を使用することで、SFTPアクセスを特定のディレクトリパスに制限することができます。適切な方法を選択し、セキュリティ要件に合わせて設定してください。