登录
首页 >  文章 >  linux

如何在Linux下进行SFTP用户权限设置

时间:2025-01-21 23:54:47 230浏览 收藏

目前golang学习网上已经有很多关于文章的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《如何在Linux下进行SFTP用户权限设置》,也希望能帮助到大家,如果阅读完后真的对你学习文章有帮助,欢迎动动手指,评论留言并分享~

如何在Linux下进行SFTP用户权限设置

本文将指导您如何在Linux系统中为SFTP用户设置权限,确保安全访问。

**步骤一:创建SFTP用户组**
首先,创建一个专门用于SFTP用户的组:
$ groupadd sftpusers
**步骤二:创建SFTP用户**
接下来,创建一个SFTP用户(例如,`test`),并将其添加到`sftpusers`组。关键是将用户的shell设置为`/bin/false`,禁止其直接登录shell:
$ useradd -s /bin/false -G sftpusers test
**步骤三:配置sshd_config**
编辑`/etc/ssh/sshd_config`文件,找到`Subsystem`配置项,将其修改为:
Subsystem sftp internal-sftp

在文件末尾添加以下配置,限制sftpusers组的用户只能访问其主目录:

Match Group sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no

保存并关闭文件。

**步骤四:设置主目录权限**
将`test`用户主目录的所有者修改为`root`:
chown root ~test
**步骤五:重启sshd服务**
重启sshd服务使配置生效:
$ systemctl restart sshd
**步骤六:测试用户连接**
尝试使用`test`用户进行SFTP连接:
$ sftp test@localhost

您应该只能访问test用户的主目录。 尝试使用SSH登录将会被拒绝。

常见问题排查:

如果连接时出现“Write failed: Broken pipe”或“Couldn't read packet: Connection reset by peer”错误,这通常是由于ChrootDirectory权限问题导致的。 请确保SFTP用户主目录的所有者为root,权限设置为750755

以上就是《如何在Linux下进行SFTP用户权限设置》的详细内容,更多关于Linux,Linux系统,红帽,Linux命令,linux认证,红帽linux,linux教程,linux视频的资料请关注golang学习网公众号!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>