Linux下SFTP用户权限设置条件及实现命令

 更新时间:2013年02月27日 15:24:55   作者:  
SFTP账号是基于SSH账号的,其拥有的权限是比较大的,今天主要教大家如何进行SFTP用户权限设置,感兴趣的你可不要错过了哈,希望本文知识可以帮助到你
众所周知SFTP账号是基于SSH账号的,所以在默认情况下访问服务器的权限是非常大的,今天的教程就是教大家进行SFTP用户权限设置。

必要条件
你的openssh-server版本至少得失4.8p1, 因为配置权限需要版本添加的新配置项ChrootDirectory来完成。
如何查看自己服务器上的ssh版本?大家可以尝试以下命令:
$ ssh -V
具体实施步骤:
1. 我们需要创建一个用户组,专门用于sftp用户
$ groupadd sftpusers
2. 我们创建一个用户test
$ useradd -s /bin/false -G sftpuser test
注意这里我们将test用户的shell设置为/bin/false使他没有登陆shell的权限
3. 编辑 /etc/ssh/sshd_config
找到Subsystem这个配置项,将其修改为
Subsystem sftp internal-sftp
然后再到文件最尾处增加配置设定属于用户组sftpusers的用户都只能访问他们自己的home文件夹
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
保存并关闭文件
4. 修改test用户home文件夹的权限,让其属于root用户
chown root ~test
5. 重启sshd服务
$ service sshd restart
6. 测试用户账号
$ ssh test@localhost
连接会被拒绝或者无法登陆
$ sftp tesst@localhost
登陆后你会发现你的账号无法切换到除自己home目录之外的地方的
常见问题:
如果你链接服务器的时候出现下面的提示:
Write failed: Broken pipe
Couldn't read packet: Connection reset by peer
这个问题的原因是ChrootDirectory的权限问题,你设定的目录必须是root用户所有,否则就会出现问题。所以请确保sftp用户根目录的所有人是root, 权限是 750 或者 755。

相关文章

  • Linux内核设备驱动之内核中链表的使用笔记整理

    Linux内核设备驱动之内核中链表的使用笔记整理

    今天小编就为大家分享一篇关于Linux内核设备驱动之内核中链表的使用笔记整理,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • 实现两台MySQL数据库数据的同步的方法

    实现两台MySQL数据库数据的同步的方法

    做开发的时候要做Mysql的数据库同步,两台安装一样的系统,都是FreeBSD5.4,安装了Apache 2.0.55和PHP 4.4.0,Mysql的版本是4.1.15,都是目前最新的版本。
    2008-04-04
  • Vim中文件编码处理与重新打开乱码文件详解

    Vim中文件编码处理与重新打开乱码文件详解

    这篇文章主要给大家介绍了关于Vim中文件编码处理与重新打开乱码文件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-04-04
  • Linux备份及恢复及Linux文件权限详解

    Linux备份及恢复及Linux文件权限详解

    这篇文章主要介绍了Linux备份及恢复及Linux文件权限详解的相关资料,需要的朋友可以参考下
    2017-05-05
  • linux服务器显卡崩溃解决方案

    linux服务器显卡崩溃解决方案

    这篇文章主要介绍了linux服务器显卡崩溃解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 详解如何在Linux系统中更改文件和目录的权限

    详解如何在Linux系统中更改文件和目录的权限

    在Linux系统中,文件和目录权限是安全性和访问控制的关键组成部分,正确设置文件和目录的权限可以确保只有授权的用户能够读取、写入或执行这些文件和目录,本文将详细介绍如何在Linux系统中更改文件和目录的权限,需要的朋友可以参考下
    2023-12-12
  • ubuntu16.04 升级内核的方法步骤

    ubuntu16.04 升级内核的方法步骤

    这篇文章主要介绍了ubuntu16.04 升级内核的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Windows下搭建PHP开发环境(Apache+PHP+MySQL)

    Windows下搭建PHP开发环境(Apache+PHP+MySQL)

    PHP集成开发环境有很多,如XAMPP、AppServ......只要一键安装就把PHP环境给搭建好了。但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习。所以我还是喜欢手工搭建PHP开发环境,需要哪个模块自己安装就行了,或者那个软件需要升级,直接升级那个软件就行了,并不影响其他软件,非常方便
    2013-01-01
  • Linux bzip2 命令的使用

    Linux bzip2 命令的使用

    这篇文章主要介绍了Linux bzip2 命令的使用,帮助大家更好的理解和使用Linux系统,感兴趣的朋友可以了解下
    2020-08-08
  • linux下使用 du查看某个文件或目录占用磁盘空间的大小方法

    linux下使用 du查看某个文件或目录占用磁盘空间的大小方法

    下面小编就为大家带来一篇linux下使用 du查看某个文件或目录占用磁盘空间的大小方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11

最新评论