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

摘要:
SFTP作为SSH的一部分,是将文件传输到Blogger服务器的安全方法。SFTP还使用加密来传输认证信息和传输的数据,因此使用SFTP非常安全。

 


2019-08-28

1、引言

  sftp可以为传输文件提供一种安全的网络的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为 SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。

2、搭建SFTP前期准备


 OS : CentOS/RHEL 7/6

 Openssh version 4.8以上

目的:实现某一个或多个用户只可以访问一个或多个目录。(User kunlun对目录A和B有rwx权限,User kunlunsun 对目录C和B拥有rwx权限)


#ssh -V           #查看openssh版本


3、创建管理组和用户


#groupadd sftp

#useradd -g sftp -s /bin/false kunlun          #  /bin/false   没有可以登录的shell,只能使用sftp登录

#passwd kunlun

#useradd -g sftp -s /bin/false kunlunsun

#passwd kunlunsun

创建组(用于管理目录和授权用户的组)

#groupadd A

#groupadd B

#groupadd C


 4、创建要访问的目录


#mkdir -p  /Data/SFTP/A/

#mkdir -p  /Data/SFTP/B/

#mkdir -p  /Data/WEB/C/


 5、配置SFTP服务器

注:由于上述中讲到sftp与ssh的关系,所以我们进行以下操作。


# vim /etc/ssh/sshd_config            #进入配置文件

# PasswordAuthentication yes        #如果您的服务器在Cloud上,那么请注意该云平台是否默认只允许密钥登录。

#Subsystem sftp /usr/libexec/openssh/sftp-server  #注释掉

Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /Data/
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no

注:ChrootDirectory /Data/   目录属主(指User)和属组(Group组)必须都是root。

可以通过getfacl /Data查看owner(user)和group(group)


6、将用户加入到要访问的“目录”组


#usermod -a -G A  kunlun          #将用户加入到要访问的目录组

#usermod -a -G B kunlun

#usermod -a -G B kunlunsun

#usermod -a -G C kunlunsun


 7、修改目录的owner和group


==============User kunlun的授权=========
#chgrp  A  A/
#chmod 770 A/
#chmod g+w A/
#chown kunlun:A A/

#chgrp  B  B/
#chmod 770 B/
#chmod g+w B/
#chown kunlun:B B/
==============User kunlunsun授权=========

#chgrp  C  C/
#chmod 770 C/
#chmod g+w C/
#chown kunlunsun:C C/

注:由于前面已经给过目录B做过授权所以只需要将用户kunlunsun加入到目录B的组即可(加入组的操作在第6步完成)


通过getfacl B/或A/目录查看目录的owner和group权限

亲测:经过以上操作,用户将对相应的目录有rwx权限

另:

  通过setfacl授权,经过测试无效果。

  个人感觉这种做法还可以更简便,欢迎各位多多测试,有更简便的方法欢迎留言,有问题也可以留言提出,看到会第一时间回复。

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

免责声明:文章转载自《搭建SFTP服务器,允许一个或多个用户拥有一个或多个目录的rwx权限》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇仅坚持了9天:京东今日宣布暂停火车票代购业务在现有 工程中使用 CBCGPro 的方法(使用此法成功)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

阿里云服务器数据备份到本地

有时候,我们需要把数据从阿里云服务器上定时备份到本地。闲话不多说。 阿里云服务器环境:Windows Server 2012 R2   一、配置FTP服务器   1、打开服务管理器面板       2、点击 “管理-添加角色和功能”按钮       3、一直下一步到“服务器角色”勾选“Web服务器(IIS)”       弹出对话框 添加功能       ...

RabbitMQ安装与配置

ERLang环境配置 1.首先安装一个ERLang的支持库:以下两个选择执行一个就行 ●apt-get -y install libncurses5-dev ●apt-get -y install make g++ gcc libpcre3 libpcrecpp* libpcre3-dev libssl-dev autoconf automake libt...

windows下GitHub的安装、配置以及项目的上传过程详细介绍

概要 本文主要介绍了在Win10系统中安装Github终端、如何配置安装好的Git终端以及如何利用Git终端将自己的项目上传到远程服务器中 操作必备 win10系统电脑一台、良好的互联网连接、GitHub账户(需要提前到官网进行注册) GitHub的安装 1、到官网下载GitHub的安装软件链接为:https://git-scm.com/download/...

[转] SSH两种登录方式(公私钥)解析

转自:https://www.cnblogs.com/hukey/p/6248468.html SSH登录方式主要分为两种: 1. 用户名密码验证方式 说明:   (1) 当客户端发起ssh请求,服务器会把自己的公钥发送给用户;   (2) 用户会根据服务器发来的公钥对密码进行加密;   (3) 加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码...

一些替代Xshell的软件推荐

FinalShell: 面附上一些截图和官方连接: 官网:http://www.hostbuf.com/ FinalShell是一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求.特色功能:免费海外服务器远程桌面加速,ssh加速,双边tcp加速,内网穿透. 主要特性:1.多平台支持Windows,Mac...

ssh 使用 sed 替换的时候,替换的字符串有单双引号的时候怎么用

线上有一个脚本需要 ssh登录远程机,然后完成特定文件中的某个值,替换的字符中有单引号,所以需要特定的写法,才能成功 1)、ssh远程执行命令,替换字符串中有单引号( ' ) ssh zhuzi@${ip} "cd ${DDIR_APP}/${PRO_NAME};sed -i "s/_M.active_env = 'pro'/_M.active_env =...