您现在的位置是:群英 > 服务器 > 系统运维
SFTP服务器是怎么搭建的,用什么命令?
Admin发表于 2022-11-23 16:04:46714 次浏览
这篇文章主要为大家详细介绍了SFTP服务器是怎么搭建的,用什么命令?的内容,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望对大家学习或工作能有帮助,接下来就跟随小编一起来学习吧。


1、创建用户并设置密码

useradd -s /bin/false sftpuser
passwd sftpuser
# 若需要多个sftp用户
新建sftp的用户组:
groupadd sftp
useradd -g sftp -m sftpuser1
useradd -g sftp -m sftpuser2
passwd	sftpuser1
passwd	sftpuser2
usermod -g sftp sftpuser

2、配置ssh和权限

首先关闭SElinux

vim  /etc/sysconfig/selinux

找到并修改这行为
SELINUX=disabled
tips:SELINUX默认是开启的,这样重启sshd会提示权限不够,设置为disabled需要重启生效

3.打开/etc/ssh/sshd_config文件

vi /etc/ssh/sshd_config
# 修改端口
Port 9222
#注释掉下面这行
#Subsystem sftp /usr/libexec/openssh/sftp-server
# Subsystem     sftp    /usr/lib/ssh/sftp-server
Subsystem sftp internal-sftp
Match user  sftpuser
        ChrootDirectory  /data/sftp   #设定属于用户组sftp的用户访问的根文件夹如设置    /data/sftp   作为sftpuser        的sftp根目录
        ForceCommand internal-sftp #指定sftp命令,强制执行内部sftp,并忽略任何    ~/.ssh/rc文件中的命令
        X11Forwarding no   #这两行,如果不希望该用户能使用端口转发的话就加    上,否则删掉
        AllowTcpForwarding no

4.重启网络

#重启sshd
systemctl restart sshd
或
systemctl restart sshd.service
#查询sshd启动状态
systemctl status sshd.service

5、权限赋予

修改sftp-users用户组用户目录权限
因为使用了ChrootDirectory /data/sftp 作为sftpuser的sftp根目录,现在来修改权限
ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;
ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,也就是说权限最大设置只能是755
由于/data/sftpuser 是root创建的,权限755,如果sftpuser直接sftp过去是没有权限写入,因此,需要/data/sftp下创建新目录并给与qhlh权限
创建文件夹:

mkdir -p /data/sftp/upload
mkdir -p /data/sftp/download
chown -R sftpuser:users /data/sftp/upload
chmod -R root:root /data/sftp/download
chown -R sftpuser:root upload/

实现需求,同一个账号下载和上传目录分开,且download目录只能读取不能写入,upload可以上传下载。


感谢各位的阅读,以上就是“SFTP服务器是怎么搭建的,用什么命令?”的内容了,通过以上内容的阐述,相信大家对SFTP服务器是怎么搭建的,用什么命令?已经有了进一步的了解,如果想要了解更多相关的内容,欢迎关注群英网络,群英网络将为大家推送更多相关知识点的文章。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: SFTP服务器
相关信息推荐
2023-07-07 11:26:34 
摘要:阿里云CentOS6配置Web服务器
2022-05-16 17:52:39 
摘要:windows如何设置环境变量(mysql与php)如果我们想在命令行执行php命令或者mysql命令,那么需要设置环境变量,如果不设置就会出现不是内部或者外部命令,也不是可运行的程序或批处理文件。其
2022-05-09 16:50:12 
摘要:在linux中,交叉编译是指在一个平台上生成另一个平台上的可执行代码,即编译源代码的平台和执行源代码编译后程序的平台是两个不同的平台。使用交叉编译的原因:1、目标系统没有能力在其上进行本地编译;2、有能力进行源代码编译的平台与目标平台不同。
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部