sftp账号创建和权限设置

2023-05-16

操作前需先开启telnet服务,防止修改sshd_config后,sshd服务启不了

systemctl start telnet.socket

1 创建用户和用户组

创建sftpusers用户组,专门用于sftp用户

groupadd sftpusers 

创建test用户,将test用户的shell设置为/sbin/nologin禁止ssh登陆,且不创建用户家目录

useradd -g sftpusers -s /sbin/nologin -M test

设置用户密码

passwd test

2 编辑 /etc/ssh/sshd_config

注释Subsystem sftp /usr/libexec/openssh/sftp-server
添加如下内容:

# override default of no subsystems
#Subsystem      sftp    /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
Match User zjjkzc
ChrootDirectory /gfsdata/jkzc
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no

多个用户,每个用户需要设置不同目录,可用以下方法:

# override default of no subsystems
#Subsystem      sftp    /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp -l INFO -f local5
Match User zjjkzc
ChrootDirectory /gfsdata/jkzc
Match User zhizhen_wz
ChrootDirectory /gfsdata/zhizhen_wz
Match User jt_wz
ChrootDirectory /gfsdata/zhizhen_wz
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no

修改后重启sshd服务,

systemctl restart sshd

如果重启报错,可以通过以下命令进行测试

/usr/sbin/sshd -t

3 用户目录

创建sftp根目录,使sftp用户在该目录下活动
目录权限设置上要遵循2点:(需要格外注意)

ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;
ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,也就是说权限最大设置只能是755。

4 测试

sftp test@ip

sftp和ftp虚账号结合使用

背景描述

目标端A通过sftp采集目录A下的a1和a2中的文件;
源端a和源端b通过ftp上传文件到目录a1和目录a2中。
背景

操作步骤:

1 账号创建

分别创建sftp账号test; ftp虚账号 vtest1、vtest2(归属于账号vtest)

2 账号权限

sftp账号权限设置:

若需要让test账号采集到vtest1和vtest2上传的文件,可将用户组vtest加到test上

usermod -a -G vtest test

设置vtest1和vtest2账号权限,增加anon_umask参数,让文件上传后的权限为644权限

 # vi /etc/vsftpd/v-conf/vtest1
local_root=/gfsdata/jkzc/jtkd
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
anon_umask=022
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sftp账号创建和权限设置 的相关文章

随机推荐

  • 系统调用,API,运行库函数和C标准库函数的区别

    1 为什么用户程序不能直接访问系统内核模式提供的服务 xff1f 在linux中 xff0c 将程序的运行空间分为内核与用户空间 xff08 内核态和用户态 xff09 xff0c 在逻辑上它们之间是相互隔离的 xff0c 因此用户程序不能
  • 学习四旋翼(二):控制方法之串级PID与卡尔曼滤波(含MATLAB示例)

    暑假期间 xff0c 对于四旋翼有一点兴趣 xff0c 没有亲手做 xff0c 但是看了一些资料 这个系列文章只是对自己看的东西的记录 xff0c 对于想要学习了解相关知识的同学没有任何参考价值 xff01 本篇是系列的第二部分 xff1a
  • Git tag标签与branch分支 区别

    Git中的分支和标签有点类似 xff0c 都是引用或者说指针 关于Git引用可以参阅Git References一章节 一 相似的地方 xff1a 图示如下 xff1a heads和tags文件夹存储的是具体分支和标签 xff1a tags
  • 关于字符串结束符'\0'

    字符串结束符 xff1a 39 0 39 xff0c 其本质就是8位的 0000 0000 xff0c 而字符类型中并没有这个字符 xff08 注意与ASCLL码区别 xff0c 在ASCLL中000 代表NULL xff09 所以用0的转
  • extern “C”的作用详解

    extern 34 C 34 的主要作用就是为了能够正确实现C 43 43 代码调用其他C语言代码 加上extern 34 C 34 后 xff0c 会指示编译器这部分代码按C语言的进行编译 xff0c 而不是C 43 43 的 由于C 4
  • Lab2 p3 围棋吃子的算法实现

    简单介绍下框架 xff1a 1 xff0e 声明一维数组block 作为一个临时变量记录一个块的大小 xff0c 声明一个整型blockLength记录这个块的长度 2 xff0e kill 为吃子的主函数 recersion int i
  • Python爬取皮皮虾视频

    背景 xff1a 今天闲着没事做 xff0c 然后想着刷刷视频 xff0c 然后发现前段时间学习了一下网络爬虫的一些基本应用 xff0c 就想着利用爬虫到网上去爬取一点视频来模拟人为的点击 下载操作 因为皮皮虾是手机端的app xff0c
  • C语言——全局变量的定义与声明

    转自 xff1a https www cnblogs com amanlikethis p 3319744 html C语言中全局变量的定义与声明困扰着许多C语言初学者 本文讲述了全局变量定义与声明的用法 xff0c 而且本为也将阐述这种用
  • ResourceNotFound:xxx roslaunch找不到包

    执行命令 xff1a roslaunch xxx 出现如下错误 错误原因 xff1a 这里错误的原因可能有两个 原因1 xff1a ROS path n 没有你的包所在的路径 解决方法 xff1a 对ros path 进行配置 1 xff1
  • 单片机对底层寄存器的操作

    最近项目用到了国产的一款单片机 xff0c 没有例程的支持 xff0c 需要自己从头开始写底层 又感受到了自己本科刚学习51的时候的浮躁 xff0c 不懂得如何操作底层的寄存器 xff0c 只是一味的抄写别人的例程 xff0c 然后进行简单
  • PyQt5自学记录(1)——PyQt5多线程实现详解

    PyQt5自学记录 xff08 1 xff09 PyQt5中多线程实现详解 最近想用PyQt5完成图像识别的一个GUI系统 xff0c 在调用算法模型进行识别的时候 xff0c 界面会卡住没有反应 xff0c 所以想学习一下多线程解决这个问
  • 编写程序的步骤

    编写 C 语言程序的7个步骤 1 定义程序的目标 资深程序员需要养成的良好的思考习惯 在动手写程序之前 xff0c 要在脑中有清晰的思路 想要程序去做什么 1 首先自己要明确自己想做什么 xff0c 2 思考你的程序需要哪些信息 xff0c
  • 看懂英文数据手册、搭建电路

    阅读数据手册是一个工程师的必备技能 xff0c 拿到一份数据手册 xff0c 特别是英文数据手册 xff0c 如何去读 xff0c 才能更快更好的找到自己想要的东西 xff1f 坚信 xff1a 阅读英文手册 xff0c 并没有想象的那么难
  • 英语四级重点短语

    devote to 将 致力于 derive from 61 originate from 61 stem from 源自于 instant adj 立即的 速溶的 instant coffee速溶咖啡 instant noodle 方便面
  • stm32串口通信的一个小总结(从底层进行理解)

    从底层理解stm32USART串口通信 以前学串口通信踩过很多坑 xff0c 过了一段时间又有些忘了 xff0c 现在问了几个很强很强的人差不多弄懂了 xff0c 现在写一写总结 xff0c 免得以后又忘了 基本知识 xff1a 1 TDR
  • 旋翼回收火箭系列博客3——控制系统设计(PX4火箭)

    绪论 为了缩短研制周期和提高产品可靠性 xff0c 本系统采用商用开源自动驾驶仪PX4 xff0c 实现旋翼空中展开并回收的功能 PX4是全球最为成熟的开源自动驾驶仪 xff0c 可实现自动起飞 降落 执行航点等基本任务 然而此次火箭比赛要
  • 创建进程的系统调用

    Unix采用fork exec两个系统调用来完成新进程的创建 fork 创建调用该命令的进程的副本 子进程与父进程几乎处处相同 xff0c fork后两个进程执行的程序是一样的 xff0c id不一样 xff0c 相应变量就不一致 xff0
  • vscode解决git提交冲突

    我的场景 xff1a master分支在一台电脑上被修改提交到远程后 xff0c 在另一台电脑上没有拉取远程更改 xff0c 也进行了更改提交 点击vscode看到合并冲突文件为index js 点击查看冲突如下 有颜色的是冲突位置代码 x
  • LZW压缩算法(数据无损压缩)

    目录 一 LZW算法介绍 二 算法介绍 1 LZ xff37 算法的基本概念 2 LZW压缩的基本原理 3 LZW算法流程 xff1a 零 常用无损数据压缩算法 字典算法 游程编码 基于字典编码技术的LZW算法 基于哈夫曼编码原理的压缩算法
  • sftp账号创建和权限设置

    操作前需先开启telnet服务 xff0c 防止修改sshd config后 xff0c sshd服务启不了 systemctl span class token keyword start span telnet span class t