一, 设置相关用户,用户组,ssh配置文件

mkdir -pv /opt/ftpsite/{admin,user1,user2}
groupadd sftpadmins
groupadd sftpusers useradd -g sftpadmins -s /sbin/nologin -d /opt/ftpsite/ admin
passwd admin
123456 useradd -g sftpusers -s /sbin/nologin -d /opt/ftpsite/ user1
passwd user1
111111 useradd -g sftpusers -s /sbin/nologin -d /opt/ftpsite/ user2
passwd user2
222222 [注意:不要使用 echo "PASSWORD" | passwd --stdin USERNAME 这种方式设定密码,经测试有bug] vim /etc/ssh/sshd_config
Port 35021
Subsystem sftp internal-sftp
Match Group sftpadmins,sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no 说明1: ChrootDirectory %h ,表示用户通过sftp登录后就把根目录切换到它自己的家目录
说明2: 以上为经过修改的配置 sftp -oPort=35021 admin@192.168.56.23
输入密码进行登录

  

二. 设置权限

三个用户先测试登录成功,但因为目录都是root用户的,所以没有写入权限

接下来修改用户权限如下
[root]# ll -d /opt/ftpsite
drwxr-xr-x 5 root root 4096 5月 11 10:59 /opt/ftpsite
说明:用户的家目录属主必须是root,且权限最高755 [root]# cd ftpsite/
[root]# ll
drwxrwx--- 2 admin sftpadmins 4096 5月 12 15:10 admin
dr-xrwx--- 2 user1 sftpadmins 4096 5月 12 12:15 user1
dr-xrwx--- 2 user2 sftpadmins 4096 5月 12 15:11 user2

  

sftp目录结构 /opt/ftpsite/{admin,user1,user2},

注意目录admin, user1, user2的所属和权限设置,非常重要!!!

三. 测试

用户名: admin   密码: 123456
sftp -oPort=35021 admin@192.168.56.23
可以在{admin,user1,user2}目录读写

用户名: user1    密码: 111111
sftp -oPort=35021 user1@192.168.56.23
可以列出所有目录,但只能进入bmcoop1目录读取,其他目录拒绝查看/进入

用户名: user2    密码: 222222
sftp -oPort=35021 user2@192.168.56.23
可以列出所有目录,但只能进入bmcoop2目录读取,其他目录拒绝查看/进入

使用FileZilla连接时,格式如下
主机: sftp://192.168.56.23
用户名: user2
密码:  222222
端口: 35021

搭建sftp并设置不同权限的多个用户的更多相关文章

  1. 搭建SFTP服务器,允许一个或多个用户拥有一个或多个目录的rwx权限

    1.引言 sftp可以为传输文件提供一种安全的网络的加密方法.sftp 与 ftp 有着几乎一样的语法和功能.SFTP 为 SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式.其实 ...

  2. Linux Centos 6.6搭建SFTP服务器

    Linux Centos 6.6搭建SFTP服务器 在Centos 6.6环境使用系统自带的internal-sftp搭建SFTP服务器. 打开命令终端窗口,按以下步骤操作. 0.查看openssh的 ...

  3. CentOS7.5 下搭建SFTP

    CentOS7.5 下搭建SFTP Linux 创建用户组 groupadd sftp 创建用户test useradd -G sftp -s /sbin/nologin test -s 禁止用户ss ...

  4. linux搭建sftp服务器

    转自:http://blog.csdn.net/superswordsman/article/details/49331539 最近工作需要用到sftp服务器,被网上各种方法尤其是权限设置问题搞得晕头 ...

  5. centos6和ubuntu14搭建sftp

    参考 http://blog.csdn.net/xinxin19881112/article/details/46831311 一. 在Centos 6.6环境使用系统自带的internal-sftp ...

  6. 搭建sftp服务+nginx代理

    在公司,经常会用到sftp服务,比如两个公司对接生产项目,其中一方,要在sftp上上传pdf文件,另一方公司要在sftp服务器上用nginx代理直接下载pdf文件.下面就说说我在实际中应用到的sftp ...

  7. linux 上搭建sftp服务

    原文链接:https://www.cnblogs.com/yanduanduan/p/9046723.html sftp和ftp的区别 FTP是一种文件传输协议,一般是为了方便数据共享的.包括一个FT ...

  8. Linux ---搭建SFTP服务器

    在Centos 6.6环境使用系统自带的internal-sftp搭建SFTP服务器. 打开命令终端窗口,按以下步骤操作. 0.查看openssh的版本 ssh -V 使用ssh -V 命令来查看op ...

  9. windows 上搭建 sftp 服务器 -freesshd全过程( 在linux上部署逐浪CMS的必读教程)

    文章标题: windows 上搭建 sftp 服务器 - freesshd全过程 关键字 : freesshd 文章分类: 教程 创建时间: 2020年3月23日 缘由 动手 第一步:添加用户 第二步 ...

随机推荐

  1. python解析pcap文件中的http数据包

    使用scapy.scapy_http就可以方便的对pcap包中的http数据包进行解析 scapy_http可以在https://github.com/invernizzi/scapy-http下载, ...

  2. opencv3.3

    --------------------opencv3.2 E:\Opencv\opencv3_2_1\opencv\mybuild\install\includeE:\Opencv\opencv3_ ...

  3. 44. Wildcard Matching 有简写的字符串匹配

    [抄题]: Given an input string (s) and a pattern (p), implement wildcard pattern matching with support ...

  4. Spring AOP 整理

    在 xml中加 xmlns:aop="http://www.springframework.org/schema/aop" http://www.springframework.o ...

  5. HUST软件测试1506班: 第0周作业成绩

    说明 本次公布的成绩包含三次作业的结果: 毕博平台课前测试题 第0周作业1:开设博客 第0周作业2:博客阅读和思考 如果同学对作业结果存在异议,可以: 在线平台的第一周在线答疑中创建话题申诉. 或直接 ...

  6. java Calender类

    1.Calender和Date相互转化 public static void main(String[] args) { // TODO Auto-generated method stub Cale ...

  7. PatternLayoutEncoder 输出格式

    ch.qos.logback.classic.encoder.PatternLayoutEncoder ch.qos.logback.classic.PatternLayout ch.qos.logb ...

  8. JS 观察者模式

    Events = function() { var listen, log, obj, one, remove, trigger, __this; obj = {}; __this = this; l ...

  9. (转)一个故事讲完https

    (转)一个故事讲完https 2 1  序言 今天来聊一聊https 安全传输的原理. 在开始之前,我们来虚构两个人物, 一个是位于中国的张大胖(怎么又是你?!), 还有一个是位于米国的Bill (怎 ...

  10. JavaScript语言精粹 笔记04 数组

    数组1 数组字面量2 长度3 删除4 列举5 混淆的地方6 方法7 维度 数组1 数组字面量 var empty = []; var numbers = [ 'zero', 'one', 'two', ...