zl程序教程

您现在的位置是:首页 >  其他

当前栏目

sftp搭建的思路总结详解程序员

思路程序员 详解 搭建 总结 SFTP
2023-06-13 09:19:56 时间

前言:

sftp是SSH File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。

SFTP 为 SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件信息传输子系统,

SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。

SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。

但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多。

配置

 

 

方法一、基于用户组进行配置

 

groupadd sftp

useradd -g sftp -s /sbin/nologin username

passwd username 

 

mkdir -pv /DIR/FIILE

cd /DIR/FILE/

mkdir filename

chown -R root:sftp filename/ 

 

vim /etc/ssh/sshd_config

#Subsystem sftp /usr/libexec/openssh/sftp-server

 

Subsystem sftp internal-sftp

Match Group sftp

        ChrootDirectory /DIR/FIILE/filename   

        X11Forwarding no # 禁用端口转发

        AllowTcpForwarding no # 禁用端口转发

 

# 由ChrootDirectory设置的目录权限及上级,属主和属组必须是root

# 由ChrootDirectory设置的目录权限及上级到系统根目录都不可以具有属组的写入权限.

 

方法二、基于用户配置

 

groupadd sftp

useradd -g sftp -s /sbin/nologin username

passwd username 

 

mkdir -pv /DIR/FIILE

cd /DIR/FILE/

mkdir filename

chown -R root:sftp filename/ 

 

vim /etc/ssh/sshd_config

#Subsystem sftp /usr/libexec/openssh/sftp-server

 

Subsystem sftp internal-sftp

Match User username

       ChrootDirectory /DIR/FIILE/filename   

       X11Forwarding no # 禁用端口转发

        AllowTcpForwarding no # 禁用端口转发

 

 

说明:

 

# 注释掉

# Subsystem sftp /usr/lib/openssh/sftp-server

 

# 使用系统默认的sftp服务

Subsystem sftp internal-sftp

 

# 限定只有sftp组的才能访问/或者只允指定用户才能访问

Match Group sftp

Match User username

 

# 指定活动目录

ChrootDirectory /sftp/%u

 

用chroot将用户的根目录指定到/data/sftp/%u,%u代表用户名,这样用户就只能在/data/sftp/%u下活动

 

# 由ChrootDirectory设置的目录权限及上级,属主和属组必须是root

# 由ChrootDirectory设置的目录权限及上级到系统根目录都不可以具有属组的写入权限.

 

 

 

# 禁用端口转发

AllowTcpForwarding no

X11Forwarding no

 

 

知识扩展:

 

文件默认权限666     目录默认权限777 。

实际文件权限则减去umask,666-002=664= -rw-rw-r

实际目录权限则减去umask,777-002=775= drwxrwxrw-

查看umask设置值:cat /etc/profile

 

给目录添加sgid权限,可以使在该目录下创建文件或文件的所属组继承该目录的所属组

例如: chmod g+s /home/admins

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/1834.html

服务器部署程序员系统优化网站设置运维