sftp多用户不同权限配置过程

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
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

Match Group sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no
说明1: ChrootDirectory %h ,表示用户通过sftp登录后就把根目录切换到它自己的家目录
说明2: 以上为经过修改的配置

sftp -oPort=35021 [email protected]
输入密码进行登录

三个用户先测试登录成功,但因为目录都是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   密码: 123456
sftp -oPort=35021 [email protected]
可以在{admin,user1,user2}目录读写

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

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

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

时间: 2024-10-12 21:03:03

sftp多用户不同权限配置过程的相关文章

sftp 多用户安装与配置

sftp 是 Secure File Transfer Protocol 的缩写,安全文件传送协议.可以为传输文件提供一种安全的加密方法.SFTP 为 SSH 的一部分,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的 FTP 要低得多,如果您对网络安全性要求更高时,可以使用 SFTP 代替 FTP. 1 | sftp 搭建 1.1 创建 sftp 组 # groupadd sftp # useradd -g sftp -d /data/sftp/sftpuser -s /sbin/n

window7 多用户远程登录配置过程

日常工作中我们可能对服务器配置远程桌面连接居多,有第三方工具也有微软自带,比如在server2008上实现多用户的远程连接. 但是也可能碰到在WIN 7上实现多用户远程访问的情况,我们可以大概了解下如何设置(针对入门级别): 一.基础配置 右击计算机--属性--高级系统设置 选择远程选项卡: 因为工作环境中有XP访问,所以不能选择 仅允许运行使用网络级别身份验证的远程桌面的计算机连接(更安全)(N) (二)新建与选择用户 新建用户,右击计算机--管理--本地用户和组--新用户(此处以PC1为例)

树莓派 配置 OMV 搭建 NAS(六) 多用户多权限共享文件夹

前言 前文讲述了 树莓派 配置 OMV 搭建 NAS(五) 设置共享权限 ,本文接着来讲如何实现 多用户多权限的共享 . 添加用户组 点击侧边栏 "访问权限管理 -> 用户组" 点击 "添加" 在 "添加用户组" 的 "常规" 中,填写名称(必须是英文).注释. 在 "添加用户组" 的 "成员" 中,选中要添加的成员. 可以看到新的用户组. 创建共享文件夹 点击侧边栏 "

vsftpd在Ubuntu 64位下的多用户多目录配置

研究了两天vsftpd,从网上找了很多资料,不是出这问题就是那问题,幸好终于解决了,下面贴出我的配置过程.不喜勿喷... 一.安装vsftpd sudo apt-get install vsftpd 安装完以后大致的目录介绍 /etc/vsftpd/vsftpd.conf 主配置文件 /usr/sbin/vsftpd Vsftpd的主程序 /etc/rc.d/init.d/vsftpd 启动脚本 /etc/pam.d/vsftpd PAM认证文件(此文件中file=/etc/vsftpd/ftp

使用HeartBeat实现高可用HA的配置过程详解

使用HeartBeat实现高可用HA的配置过程详解 一.写在前面 HA即(high available)高可用,又被叫做双机热备,用于关键性业务.简单理解就是,有2台机器 A 和 B,正常是 A 提供服务,B 待命闲置,当 A 宕机或服务宕掉,会切换至B机器继续提供服务.常见的实现高可用的开源软件有 heartbeat 和 keepalived. 这样,一台 web 服务器一天24小时提供web服务,难免会存在 web 服务挂掉或服务器宕机宕机的情况,那么用户就访问不了服务了,这当然不是我们期望

MySQL集群架构以及本人配置过程中出现的问题及解决办法

首先说下MySQL的优缺点 优点 解决单点故障 自动实现数据冗余 缺点就是维护起来太麻烦. 集群的条件就是所有的机器上都要安装MySQL的集群软件,我安装的是MySQL-Cluster-gpl-7.3.5-1.el6.x86_64.rpm的rpm包,不是源码包安装.如果系统里面安装了mysql-server等数据库服务软件的要自行写在掉即可. MySQL集群中有三种角色,下面是三种角色以及其的作用 角色 数据节点:ndbd节点 存储在表里的数据(表中的记录) SQL节点:不存储数据,供用户访问和

Mosquitto搭建Android推送服务(四)Mosquitto服务器用户登录与权限配置

文章钢要: 1.对服务器进行多用户配置 2.根据不同用户给予不同权限 一.Mosquitto的用户机制 mosquitto中可以添加多个用户,只有使用用户名和密码登陆服务器才允许用户进行订阅与发布操作.可以说用户机制是mosquitto重要的安全机制,增强服务器的安全性. 用户与权限配置需要修改3处地方: 1.mosquitto中最最最重要的配置文件mosquitto.conf. 2.pwfile.example (保存用户名与密码) 3.aclfile.example (保存权限配置) 首先给

Mysql中主从复制的原理、配置过程以及实际案例

Mysql中主从复制的原理.配置过程以及实际案例1.什么是主从复制?原理:主从分离,什么意思呢?我们不妨画个图看看.如图1所示: 2.准备工作:预备两台服务器,我这里使用虚拟机安装了两个Centos6.7_64位操作系统,并分别在两台服务器上安装mysql.我的IP地址分别为:192.168.1.15/192.168.1.16,这里我定义15为主服务器,16为从服务器.首先,我们编辑主服务器中mysql配置文件.(因我的mysql使用非root用户安装,因此配置文件放在/home/formal/

[译]SQL Server分析服务的权限配置

简介: 本文介绍如何配置SSAS数据库和cube相关维度的安全设置. 相对数据引擎来说,在Management Studio中配置分析服务的安全设置基本没什么区别.但是也会有一些限制,比如SSAS的权限配置都是围绕角色进行的,其次,角色的成员必须是基于windows或者ad环境的,SQL Server用户(比如sa)是无法使用的.还有,权限是无法直接授予给windows或者ad用户或者组的,这些用户或者组必须填加到角色中才可以.另外,如果UAC处于打开的状态,那么比如要以"Run as Admi