首页 > 系统相关 >Linux SFTP服务部署

Linux SFTP服务部署

时间:2023-02-20 16:14:57浏览次数:59  
标签:sftpuser 部署 用户 sftp Linux 根目录 SFTP data sshd

1、创建sftp组

groupadd sftp

 

2、创建sftp所用的用户

#用户名sftpuser,创建用户到用户组,并禁止登录
useradd -g sftp -s /bin/false sftpuser -d /data/sftpuser

#修改密码
passwd sftpuser

 

3、修改ssh配置

vim /etc/ssh/sshd_config

a. 注释Subsystem sftp /usr/libexec/openssh/sftp-server(若不注释,可以通过"cd / "看到系统所有文件)

 

 b. 在文件末尾添加以下配置

# sftp
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /data/sftpuser
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no

> Match Group sftp :匹配sftp组的用户,如果有多个组,用逗号分隔。也可以使用"Match User mysftp"匹配用户,多个用户之间也是用逗号分隔。
> ChrootDirectory /data/sftpuser :将用户的根目录指定到/data/sftpuser
> ForceCommand internal-sftp :指定sftp命令。
> X11Forwarding no :是否允许用户可以使用端口转发。

4、修改用户的根目录,让它属于root

chown root:sftp /data/sftpuser
chmod 755 /data/sftpuser

 

5、创建sftpuser用户可写入的目录,并授权

// 由于sshd_config配置中指定了根目录,根目录无法写入,因此要创建一个用于上传文件的目录。
// 目录所有者为sftpuser,有写入权限;所有组为sftp,无写入权限。

mkdir /data/sftpuser/sftpdata
chown sftpuser:sftp /data/sftpuser/sftpdata
chmod 755 /data/sftpuser/sftpdata

 

如果需要多个目录,可以接着创建,然后赋予同样的权限即可,如:

mkdir /data/sftpuser/sftpdata123
chown sftpuser:sftp /data/sftpuser/sftpdata123
chmod 755 /data/sftpuser/sftpdata123

 

6、关闭selinux、firewallid

略...

 

7、重启sshd服务

systemctl restart sshd

 

8、测试

#连接,然后输入命令即可
sftp [email protected]

 

标签:sftpuser,部署,用户,sftp,Linux,根目录,SFTP,data,sshd
From: https://www.cnblogs.com/weiyiming007/p/17137750.html

相关文章

  • Linux中产生zombie的原因详解及解决方法!
    zombie英文全称是zombieprocess,中文名为僵尸进程,也就是死掉的进程,那么Linux中产生zombie的原因是什么?具体内容请看下文。僵尸进程,英文名zombieprocess,顾名思义......
  • nginx 注册Linux 开机启动
    nginx注册Linux开机启动前提已经安装好了,nginx(查看之前的文章) cd  /usr/lib/systemd/system/[root@machine138keepalived]#cd/usr/lib/systemd/system/[r......
  • docker 部署gitlab
    docker部署mkdir-p/mnt/docker/gitlab/config#作为配置目录mkdir-p/mnt/docker/gitlab/logs#作为日志目录mkdir-p/mnt/date/gitlab#作为......
  • vsftpd虚用户配置
    新建账号:saimeike、zhangsanvim/etc/vsftpd/vuser.list编辑文件内容如下:(账号的密码为下一行字符,不可有空行)saimeike000zhangsan000db_load-T-thash-f/etc/......
  • linux编译安装gcc5.3.0
    1、下载GCC5.3.0安装包#su#cd/opt#wgethttp://ftp.gnu.org/gnu/gcc/gcc-5.3.0/gcc-5.3.0.tar.gz2、解压#tar-zxfgcc-5.3.0.tar.gz3、创建安装目录#mkdir......
  • Linux学习笔记
    第一章:初识Linux1、LinuxLinux是一套免费和自由传播的类UNIX操作系统(类UNIX系统:是指继承UNIX的设计风格演变出来的系统),是基于POSIX和UNIX的多用户、多任务、支持多线程和......
  • ansible 离线部署
    1、安装python环境wgethttps://mirrors.bfsu.edu.cn/anaconda/archive/Anaconda3-2022.10-Linux-x86_64.shshAnaconda3-2022.10-Linux-x86_64.sh完成安装后,重新......
  • k8s中使用prometheus operator监控外部服务器部署的windows exporter
    k8s中使用prometheusoperator监控外部服务器部署的windowsexporter0、文档说明(1)PrometheusOperator是一个流行的k8s集群监控套件,项目地址:https://github.com/prom......
  • 10个有趣的 Linux Shell 脚本面试与解答
    Linux的浩瀚无垠,使人总能每次都提交与众不同的内容。这些内容不仅对他们的职业生涯很有用,同时也让他们增长知识。在此,我们就尝试这么去做,至于能取得多大的成功,就由我们的读......
  • linux利用source命令导入sql文件
    1.创建数据库2.设置编码3.进入sql文件目录,使用msyql的source命令如下:source文件路径mysql>useg6monitor;mysql>source/app/t_sta_high_emission_vehicle.sql; ......