• Linux 下创建 sftp 用户并限定目录


    Linux 下创建 sftp 用户并限定目录

    1、创建 sftpUser 用户组

    [root@XXX ~]# groupadd sftpUser
    

    2、创建 sftpUser 用户并指定目录

    [root@XXX ~]# useradd -d /home/sftpUser -s /sbin/nologin -g sftpUser sftpUser
    

    3、为新用户添加密码

    [root@XXX ~]# passwd sftpUser
    Changing password for user sftpUser.
    New password:
    Retype new password:
    passwd: all authentication tokens updated successfully.
    

    此时,可以使用ftp以sftp的方式进行登录了。

    用户名为 sftpUser,密码为上一步输入的密码。
    以下操作限定访问目录。

    4、开启 telnet 服务(防止 ssh 出问题无法连接到服务器)

    4.1 修改文件 /etc/xinetd.d/telnet

    [root@XXX ~]# vi /etc/xinetd.d/telnet
    
    # default: on
    # description: The telnet server serves telnet sessions; it uses 
    #       unencrypted username/password pairs for authentication.
    service telnet
    {
            disable = no   #修改为no,意思是可以使用 telnet 服务
            flags           = REUSE
            socket_type     = stream
            wait            = no
            user            = root
            server          = /usr/sbin/in.telnetd
            log_on_failure  += USERID
    }
    ~
    ~
    

    4.2 重启服务

    [root@XXX ~]# service xinetd restart
    Stopping xinetd: [FAILED]
    Starting xinetd: [  OK  ]
    

    4.3 测试是否可以以telnet方式登录

    5、修改sshd配置文件

    5.1 备份文件

    [root@XXX ~]# cd /etc/ssh
    [root@XXX ssh]# cp -p sshd_config sshd_configbak
    

    5.2 修改 sshd_config 文件

    [root@XXX ssh]# vim sshd_config
    

    在文件末尾插入如下内容:

    Match User sftpUser                  # sftpUser为用户名
    ChrootDirectory /home/sftpUser       # /home/sftpUser目录为限定目录
    ForceCommand internal-sftp           # 固定内容
    

    PS:最好手敲内容,中文字符容易出错。

    5.3 重启 ssh 服务

    [root@XXX ssh]# service sshd restart
    Stopping sshd:[  OK  ]
    Starting sshd:[  OK  ]
    

    6、创建目录及管理

    [root@XXX ssh]# cd /home/
    [root@XXX home]# chown -R root:root ./sftpUser/
    [root@XXX home]# chmod -R 755 ./sftpUser/
    [root@XXX home]# cd sftpUser/
    [root@XXX sftpUser]# mkdir fileStore
    [root@XXX sftpUser]# chown sftpUser:sftpUser fileStore/
    [root@XXX sftpUser]# chmod 777 fileStore/
    

    PS1: sftpUser 用户登录后只能在 fileStore 目录下操作,无法操作其平级目录。

    PS2: fileStore 所有者必须为 sftpUser 的用户与用户组,其所有上级目录均为 root:root。

    PS3: fileStore 权限为 777,其所有上级目录均为 755。

    PS4: 可以通过创建与 fileStore 平级的目录管理不同的接入方。

    7、使用 sftpUser 用户登录效果

    PS: sftpUser 只有 fileStore 目录下的操作权限(增加、删除文件及文件夹),而无法在 fileStore 目录同级进行操作

  • 相关阅读:
    Java并发初识
    go交叉编译
    MRC与ARC混合开发配置
    Hibernate配置文件
    LEFT JOIN重复数据
    Ext.ViewPort布局
    Hibernate学习映射文件
    AjaxMethod方法
    DataBinder
    subsonic 获取记录数量
  • 原文地址:https://www.cnblogs.com/anzerong2012/p/9959618.html
Copyright © 2020-2023  润新知