首页 > 系统相关 >linux创建SFTP用户

linux创建SFTP用户

时间:2022-12-02 16:35:03浏览次数:36  
标签:sftpuser 创建 用户 sftp linux home SFTP data

服务器要通过SFTP接收一个文件,创建一个用户专门通过SFTP连接、上传文件用,但不允许通过该用户登陆。记录下步骤以及遇到的报错。

步骤

需要root用户。
这次创建用户名sftpuser,所属群组sftp。sftpuser的用户目录建在/data/sftpuser

#创建sftp群组
groupadd sftp
#创建用户sftpuser,指定群组sftp,不允许登陆
useradd -g sftp -M -s /sbin/nologin sftpuser
#修改下密码
passwd sftpuser

#创建sftpuser的home目录
mkdir -p /data/sftpuser
chmod 755 /data
chmod 755 /data/sftpuser
usermod -d /data/sftpuser sftpuser

#修改ssh配置文件
vi /etc/ssh/sshd_config
#找到下面语句,注释掉
#SubSystem sftp /usr/libexec/sftp-server
#然后添加以下配置
Subsystem sftp internal-sftp
AllowTcpForwarding no
X11Forwarding no
Match Group sftp
ChrootDirectory %h
ForceCommand internal-sftp

修改完:x 保存退出。然后重启sshd
service sshd restart

然后应该就可以连接登陆了
sftp sftpuser@localhost

但sftpuser目前没有写权限,创建一个目录,给它分配写权限

mkdir -p /data/sftpuser/file/receive
chown sftpuser:sftp /data/sftpuser/file/receive
chmod 755 /data/sftpuser/file/receive

然后就可以在/file/receive上传文件

踩坑和解决

开始按步骤配置好后,连接报错。

packet-write-wait:Connection to xxx port 22:Broken pipe

从这看不出错误原因。可以去操作系统的日志查看
在/var/log/下secure.log里
可以查看到有一条日志:

fatal:bad ownership or modes for chroot directory component "/home/"

看报错大概是/home/的所有权或者权限有问题。事实上,我最开始用户目录创建在/home/sftpuser。SFTP登陆的路径,要求各层级都归属root且其他用户都没有写权限,而我服务器上/home不是归属root用户的。

所以把sftpuser的用户目录改在了/data/sftpuser,然后/data和/data/sftpuser的所有权都归属到root用户,文件权限都改成755,然后就可以了。

标签:sftpuser,创建,用户,sftp,linux,home,SFTP,data
From: https://www.cnblogs.com/three-xj/p/16944834.html

相关文章

  • linux命令
    1.cd目录切换..返回上次层命令/根目录2.ll查看当前目录中的文件或目录3.pwd返回当前工作目录4.mkdir创建文件夹 -p递归创建5.cp复制文件或文件......
  • linux常用命令
    一.常用Linux命令1.1简单命令lspwdmkdir(mkdir-p)cdcp(cp-r)ps(ps-ef)catlessvimgrep  du-sh dftail-f 1.2复杂命令1.ps-ef|grep"service"......
  • 第九章.jquery元素的动态创建,添加,删除
     ......
  • RLM:AMPED破解插件软件安装方法V3(Win/Mac/Linux)
    AMPED软件安装方法V3(Win/Mac/Linux)    一、AMPED软件的应用范围      二、win 1、拷贝RLM_Windows文件夹到C盘根目录"C:\";2、在C:......
  • linux下命令操作
    grep:​​文本​​内容搜索;find:文件或者目录名以及权限属主等匹配搜索eg:grepsuccess*/*查找当前目录下面所有文件里面含有success​​字符​​的文件14.kill可以杀......
  • idea创建 spring boot 初始化,填入阿里云的初始化地址:https://start.aliyun.com/
    idea创建springboot初始化,填入阿里云的初始化地址:https://start.aliyun.com/     ......
  • linux改时间小脚本
    因为需要给大批量无网终端改时间,为了方便,写了个小脚本当日工作当日完成,日期写死就不用改动了具体时间得手动设置,所以开了个交互最后硬件时间需要同步系统时间,防止重启后......
  • linux tar 解压命令总结
    压缩tar–cvfjpg.tar*.jpg将目录里所有jpg文件打包成tar.jpgtar–czfjpg.tar.gz*.jpg将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩......
  • Linux服务器无法删除文件怎么办?如何处理?
    当我们使用Linux服务器的时候,很多人应该都遇到过这种情况:有些文件的属性被修改,从而导致我们无法删除文件,使用root用户也不行,那么Linux服务器无法删除文件如何处理?小编......
  • linux++mysql命令行操作
    linux操作:切换root>sudosu  linux mysql命令行操作root@fossx:/opt/fossx/conf#sudomysql-uroot-pmysql>showdatabase;mysql>usefossx;mysql>showtab......