117.info
人生若只如初见

Ubuntu SFTP权限设置详解

在Ubuntu系统中设置SFTP权限主要涉及创建用户、配置SSH服务器以及设置文件系统权限。以下是详细的步骤:

1. 创建用户

首先,创建一个新用户(如果尚未创建):

sudo adduser username 

为新用户分配密码:

sudo passwd username 

按照提示输入并确认密码。

2. 更改用户的默认shell为SFTP

将用户的默认shell更改为SFTP:

sudo usermod -s /usr/sbin/nologin username 

3. 创建用于存储用户文件的目录

创建一个新目录,用于存储用户的文件:

sudo mkdir /home/username/uploads 

更改新创建的目录的所有者和权限,以便只有该用户可以访问:

sudo chown username:username /home/username/uploads sudo chmod 700 /home/username/uploads 

4. 配置SSH服务器以允许SFTP连接

打开SSH配置文件:

sudo nano /etc/ssh/sshd_config 

在文件末尾添加以下内容(将 username 替换为你创建的用户名):

Match User username ChrootDirectory /home/username ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no 

这些设置将限制用户只能访问其主目录中的 uploads 文件夹。

5. 重启SSH服务以应用更改

重启SSH服务以应用更改:

sudo systemctl restart ssh 

6. 限制用户权限的额外方法

使用用户组

创建一个新的用户组,例如 sftponly

sudo groupadd sftponly 

将需要限制权限的用户添加到这个新创建的组中:

sudo usermod -G sftponly user1 

编辑 /etc/ssh/sshd_config 文件,以便为SFTP用户应用自定义设置:

sudo nano /etc/ssh/sshd_config 

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

Match Group sftponly ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no 

保存并关闭文件。

重启SSH服务以应用更改:

sudo systemctl restart ssh 

7. 验证设置

现在,用户应该能够通过SFTP连接到系统,并且只能访问其主目录中的指定文件夹。

请注意,以上步骤仅适用于Ubuntu系统。其他Linux发行版可能有所不同。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe82dAzsNBQ5eAVE.html

推荐文章

  • Ubuntu如何备份cop launcher设置

    在Ubuntu系统中,如果你想要备份Copilot Launcher(假设你指的是GitHub Copilot或者类似的代码补全工具的Launcher)的设置,通常这些设置会存储在你的用户目录下...

  • Ubuntu Tomcat日志中的线程池配置如何优化

    要优化Ubuntu上Tomcat日志中的线程池配置,首先需要了解Tomcat的线程池是如何工作的,并通过调整相关参数来提高性能。以下是一些基本的步骤和建议:
    线程池...

  • ubuntu yum设置自动更新策略

    在Ubuntu系统中,通常使用APT(Advanced Package Tool)来管理软件包和更新,而不是YUM(Yellowdog Updater, Modified)。不过,如果你确实需要设置自动更新策略...

  • ubuntu gitlab如何恢复数据

    在Ubuntu上恢复GitLab数据通常涉及以下步骤:
    备份与恢复概述 备份方法:使用 gitlab-rake 命令进行全量备份,可以结合 rsync 进行增量备份。
    恢复方法...

  • centos swapper如何提高稳定性

    在CentOS系统中,Swapper(交换分区或交换文件)是一个重要的内存管理工具,它在物理内存不足时,可以将部分数据暂时存储在硬盘上的交换空间中,从而释放物理内存...

  • Golang日志错误码怎么解读

    在Golang中,日志错误码通常是一个整数,用于表示特定的错误类型。这些错误码可以帮助开发人员快速定位问题并采取相应的解决措施。要解读Golang日志中的错误码,...

  • CentOS Sniffer报告如何解读

    在CentOS系统中,Sniffer是一个强大的网络监控和分析工具,用于捕获和分析网络流量。然而,搜索结果中并没有直接提供关于如何解读Sniffer报告的具体信息。不过,...

  • Ubuntu Exploit攻击者通常是谁

    很抱歉,我无法为您提供Ubuntu Exploit攻击者通常是谁的具体信息。攻击者的身份通常是保密的,而且可能会随着时间和情况的变化而变化。不过,我可以提供一些关于...