在 CentOS 系统中,要修改 SFTP 默认目录,你需要编辑 OpenSSH 服务器的配置文件。请按照以下步骤操作:
使用 root 用户登录到你的 CentOS 服务器。
打开 OpenSSH 服务器的配置文件。这个文件通常位于 /etc/ssh/sshd_config。你可以使用文本编辑器(如 vim、nano 等)打开它。例如,使用 vim 编辑器,运行以下命令:
sudo vim /etc/ssh/sshd_config
sshd_config 文件中,找到或添加以下行:ChrootDirectory %h
这将会把用户的根目录限制在他们自己的主目录中。%h 是一个占位符,表示用户的主目录。
如果你想要为特定用户设置不同的默认目录,可以使用以下方法:
a. 在 /etc/passwd 文件中找到该用户的条目。
b. 将用户的 shell 更改为自定义的 SFTP shell,例如 internal-sftp。例如:
your_username:x:1001:1001::/home/your_username:/usr/sbin/nologin
c. 创建一个新的目录,作为用户的默认 SFTP 目录。例如:
sudo mkdir /home/your_username/sftp
d. 更改新目录的所有者和权限,以便只有该用户可以访问:
sudo chown your_username:your_username /home/your_username/sftp
sudo chmod 755 /home/your_username/sftp
保存并关闭 sshd_config 文件。
重新启动 SSH 服务以应用更改:
sudo systemctl restart sshd
现在,当用户通过 SFTP 登录时,他们将被限制在指定的默认目录中。