Ubuntu 24.04创建sftp账号

内容目录

Ubuntu 24.04 中添加一个名为 ai_rvmSFTP账号,并限制其只能访问 /data/ai_rvm/upload/ 目录。

详细步骤


1. 创建用户和目录

# 创建组
sudo groupadd sftpusers

# 创建用户
sudo useradd -m -d /data/ai_rvm -s /sbin/nologin -g sftpusers ai_rvm

# 设置密码
sudo passwd ai_rvm

2. 创建上传目录

sudo mkdir -p /data/ai_rvm/upload

# 赋予正确权限
sudo chown root:root /data/ai_rvm
sudo chmod 755 /data/ai_rvm

sudo chown ai_rvm:sftpusers /data/ai_rvm/upload
sudo chmod 755 /data/ai_rvm/upload

3. 配置 SSHD 服务

编辑 SSH 配置文件:

sudo nano /etc/ssh/sshd_config

在文件末尾添加以下内容:

# SFTP configuration for ai_rvm
Match User ai_rvm
    ChrootDirectory /data/ai_rvm
    ForceCommand internal-sftp
    AllowTCPForwarding no
    X11Forwarding no

4. 重启 SSH 服务

sudo systemctl restart ssh

5. 验证

在其他主机或本机尝试登录:

sftp ai_rvm@your_server_ip

登录后应该直接进入 /upload/ 目录,并且无法跳出上层目录或执行 shell。


6. 可选:禁止 SSH 登录

上面的配置已经设置了 /sbin/nologin,防止了 SSH Shell 登录,只允许 SFTP。


权限说明

  • /data/ai_rvm 必须root:root 拥有,权限为 755,这是 SFTP chroot 的要求。
  • /data/ai_rvm/upload 可以给 ai_rvm 用户写权限。

账号名:ai_rvm
SFTP路径:/data/ai_rvm/upload/
限制:仅允许 SFTP,无法 SSH 进入系统。


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注