喷子特朗普

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  12 随笔 :: 0 文章 :: 1 评论 :: 12124 阅读

1.linux操作系统SSH和SFTP共用端口和服务,所以只要服务器开启了SSH即可以使用SFTP,检查当前SFTP版本信息

[root@localhost ~]# rpm -qa|grep ssh
libssh2-1.4.3-10.el7_2.1.x86_64
openssh-7.4p1-13.el7_4.x86_64
openssh-server-7.4p1-13.el7_4.x86_64
openssh-clients-7.4p1-13.el7_4.x86_64

2.创建用户和设置权限

复制代码
[root@localhost ~]# mkdir -pv /data/sftp/                
#创建sftp数据根目录
[root@localhost ~]# chown root:root -R /data/sftp/       
#设置root对根目录的权限,一定要是root用户,否则无法chroot
[root@localhost ~]# chmod  -R /data/sftp/             
#权限最低需要保证普通用户可以进入
[root@localhost ~]# groupadd sftpgroup              
#sftp服务组,sftp服务可以设置匹配组或单个用户来设置,如果是单个用户可以忽略
[root@localhost ~]# useradd -d /data/sftp/user1 -m -g sftpgroup -s /sbin/nologin user1
#创建用户user1,设置目录权限为user1,并添加到组sftpgroup [root@localhost
~]# id user1 [root@localhost ~]# echo "" |passwd --stdin user1 #修改用户user1的密码。
复制代码

3.修改sshd服务配置文件etc/ssh/sshd_config,以组的方式管理sftp用户权限.

复制代码
 1 #TCPKeepAlive yes
 2 #PermitUserEnvironment no
 3 #Compression delayed
 4 #ClientAliveInterval 0
 5 #ClientAliveCountMax 3
 6 #UseDNS no
 7 #PidFile /var/run/sshd.pid
 8 #MaxStartups 10:30:100
 9 #PermitTunnel no
10 #ChrootDirectory none
11 #VersionAddendum none
12 
13 # no default banner path
14 #Banner none
15 
16 # override default of no subsystems
17 # Subsystem     sftp    /usr/libexec/openssh/sftp-server
18 #注释掉上面一行
19 
20 # Example of overriding settings on a per-user basis
21 #Match User anoncvs
22 #       X11Forwarding no
23 #       AllowTcpForwarding no
24 #       PermitTTY no
25 #       ForceCommand cvs server
26 GSSAPIAuthentication no
27 UseDNS no
28 #使用sftp服务使用系统自带的internal-sftp
29 Subsystem sftp internal-sftp
30 #匹配sftpgroup组的用户,如果要匹配多个组,多个组之间用逗号分割
31 Match Group sftpgroup
32 #用chroot将用户的根目录指定到/data/sftp/%u,%u代表用户名,这样用户就只能在/data/sftp/%u下活动
33 ChrootDirectory /data/sftp/%u
34 #强制执行内部sftp,并忽略任何~/.ssh/rc文件中的命令
35 ForceCommand internal-sftp
36 #不允许转发TCP协议,默认是yes,如果用户可以shell访问则建议为yes
37 AllowTcpForwarding no
38 #是否允许进行 X11 转发。默认值是"no",设为"yes"表示允许。如果允许X11转发并且sshd()代理的显示区被配置为在含有通配符的地址(X11UseLocalhost)上监听。那么将可能有额外的信息被泄漏。由于使用X11转发的可能带来的风险,此指令默认值为"no"。需要注意的是,禁止X11转发并不能禁止用户转发X11通信,因为用户可以安装他们自己的转发器。如果启用了 UseLogin ,那么X11转发将被自动禁止。
39 X11Forwarding no
复制代码

4.重启服务

[root@localhost ~]# systemctl restart sshd 
#重启服务

5.验证用户权限

posted on   喷子特朗普  阅读(473)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示