众所周知,sftp是ftp的安全升级版,是通过Openssh组件来实现的,具体的工作原理不再在此讲(网上一抓一大把),述下面我们就来配置一个能够限定用户权限的sftp服务器端。
环境介绍:CentOS release 5.5 x86_64
一、首先查看系统自带openssh软件组的版本,版本过低则不支持此功能
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiInBnaugDMzUTN4IzNx8CXyETMxAjMvwFduVWboNWY0RXYvwVbvNmLvR3YxUjL0M3Lc9CX6MHc0RHaiojIsJye.jpg)
二、升级Openssh组件版本,在此将其升级为5.8版本:
1、下载所需要的软件:
libedit0-3.0-1.20090722cvs.el5.x86_64
wget http://dl.atrpms.net/el5-x86_64/atrpms/stable/libedit0-3.0-1.20090722cvs.el5.x86_64.rpm
openssh-5.8p2-16.el5.1.x86_64
wget http://centos.alt.ru/repository/centos/5/x86_64/openssh-5.8p2-16.el5.1.x86_64.rpm
openssh-askpass-5.8p2-16.el5.1.x86_64
wget http://centos.alt.ru/repository/centos/5/x86_64/openssh-askpass-5.8p2-16.el5.1.x86_64.rpm
openssh-clients-5.8p2-16.el5.1.x86_64
wget http://centos.alt.ru/repository/centos/5/x86_64/openssh-clients-5.8p2-16.el5.1.x86_64.rpm
openssh-server-5.8p2-16.el5.1.x86_64
2、安装新版本所需的库文件:
3、升级sftp所需的软件组,将四个软件放到任何一个干净的目录下:
更新过程如果没有报错,查看版本是否已经更新为5.8
三、示例及配置
示例:
在此列举两个用户:uer1,user2分别属于group1,group2两个组,两个目录groupone,grouptwo在目录lg中目的:
1、user1(即属于group1的用户)只有在groupone这个目录中具有读写权限,在grouptwo目录中没有任何权限
2、user2(即属于group2的用户)只有在grouptwo这个目录中具有读写权限,在groupone目录中没有任何权限
3、user1和user2只能在自己的目录下活动
配置过程:
1、按照如下方法修改配置文件
2、添加所需的目录(在目录不存在的情况下)
3、添加用户组
4、添加用户
5、给user1和user2设置密码
6、修改groupone的属组和权限
7、修改grouptwo的属组和权限
四、重新启动sshd服务
接下来就是使用user1和user2登录sftp服务器进行验证吧!