Linux创建sftp账号用户并限制访问目录

记录下步骤,自存。

一、创建用户

1.若指定目录不在/home下:

useradd username-d /mnt/storage2/design_draft -M

2.若指定目录为/home下用户家目录:

useradd username

二、修改密码

passwd  username

三、创建用户组并修改用户所属组

groupadd groupname
usermod -aG groupname username

四、修改sshd_config


vi /etc/ssh/sshd_config

# 在最后增加以下关键字
# 其中配置在Match User字段中的用户,会被禁止使用ssh方式登录系统
# 配置中username为用户名,groupname为组名,记得替换修改

Subsystem       sftp   internal-sftp
Match Group groupname
ChrootDirectory /home/username/
ForceCommand    internal-sftp
AllowTcpForwarding no
X11Forwarding no

五、重启sshd服务

1.提前开启telnet,以防止修改sshd重启后无法ssh连接。

vi /etc/xinetd.d/telnet

# 将disable设置为no
# 关闭telnet则将disable设置为yes

# default: on
# description: The telnet server serves telnet sessions; it uses \
#       unencrypted username/password pairs for authentication.
service telnet
{
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/in.telnetd
        log_on_failure  += USERID
        disable         = no
}

2.保存配置,重启telnet

service  xinetd restart

3.重启sshd服务,注意检查有无报错

service  sshd restart

六、创建目录并授权

1.如果主目录为/home

实例1 

目录必须为root所属

位置:/home

drwxr-xr-x  6 root     root      4096 05-23 15:57 Bcuser

位置:/home/Bcuser

drwxrwSr-x 2 Bcuser sftpUser 4096 05-23 15:57 DL
drwxrwSr-x 2 Bcuser sftpUser 4096 05-23 17:50 UL

2.如果主目录不为/home

则除用户使用的目录,如/xxx/xxx/sftp/upload,/xxx/xxx/sftp/这几个目录都必须为root所属,权限为755。不然无法登录,可能会出现Couldn't read packet: Connection reset by的报错。

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值