其他人登录sftp 服务器 不直接使用root的用户
时间: 2024-05-02 14:21:04 浏览: 14
其他人可以通过创建自己的用户账户来登录sftp服务器,而不是使用root用户。这可以通过以下步骤完成:
1. 创建新用户账户:使用adduser命令创建一个新的用户账户。例如,要创建名为“john”的新用户账户,可以使用以下命令:
```bash
sudo adduser john
```
2. 设置用户密码:使用passwd命令为新用户设置密码。例如,要为“john”用户设置密码,可以使用以下命令:
```bash
sudo passwd john
```
3. 将新用户添加到sftp组中:使用usermod命令将新用户添加到sftp组中。例如,要将“john”用户添加到sftp组中,可以使用以下命令:
```bash
sudo usermod -aG sftp john
```
4. 配置sftp服务器:为了允许新用户通过sftp登录服务器,需要在sftp配置文件中指定他们的访问权限。在OpenSSH中,可以编辑/etc/ssh/sshd_config文件,并添加以下行:
```
Match group sftp
ChrootDirectory /sftp/%u
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
```
上述行指定了sftp用户组的匹配规则,并指定了sftp根目录的路径。在此示例中,sftp根目录位于/sftp目录下的用户目录中。此外,指定了sftp连接的强制命令,以及禁止X11转发和TCP转发。
5. 重启SSH服务:完成上述更改后,需要重启SSH服务以使更改生效。可以使用以下命令来重启SSH服务:
```bash
sudo service ssh restart
```
现在,用户“john”就可以通过sftp登录到服务器,并且只能访问其个人的sftp根目录。