Linux SFTP 用户指的是在 Linux 系统中,被配置为只能通过 SFTP(SSH File Transfer Protocol)进行文件传输,而不能通过 SSH 登录系统执行命令的专用用户账户。
下面从几个层面来解释:
SFTP 是基于 SSH 协议的安全文件传输协议,常用于:
它和 FTP 不同,不需要单独开 21 端口,而是走 SSH 的 22 端口。
| 类型 | 能否 SSH 登录 | 能否执行命令 | 能否传文件 |
|---|---|---|---|
| 普通 Linux 用户 | ✅ | ✅ | ✅ |
| SFTP 专用用户 | ❌(通常) | ❌ | ✅ |
SFTP 用户的核心目的:
只给文件访问权限,不给系统控制权限
internal-sftp(最常用)在 /etc/ssh/sshd_config 中配置:
Match User sftpuser
ChrootDirectory /home/sftpuser
ForceCommand internal-sftp
PasswordAuthentication yes
特点:
创建用户时:
useradd -s /usr/sbin/nologin sftpuser
或:
usermod -s /sbin/nologin sftpuser
这样用户:
sftpusers)如果你愿意,我可以:
你现在是想“创建”还是“理解原理”?