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 目录同级进行操作

Linux 下创建 sftp 用户并限定目录的更多相关文章

  1. linux下创建mysql用户和数据库,并绑定

    Linux下输入命令: mysql -uroot -proot123 进入mysql后输入: 查看目前有哪些数据库存在:mysql> SHOW DATABASES; 创建数据库:create s ...

  2. Linux下创建新用户

    useradd -h查询使用方法 useradd -g sysadmin -d /home/devops -m -c "DevOps Installation User" -s / ...

  3. Linux下创建ftp用户并锁定根目录

    [root@d vsftpd]# vi /etc/vsftpd/chroot_list 加入要锁定根目录的ftp用户名(一行只能一个用户) [root@ vsftpd]# vi /etc/vsftpd ...

  4. linux下创建用户并且限定用户主目录

    Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号 一方面可以帮助系统管理员对使用系统的用户进 ...

  5. linux下创建用户

    linux下创建用户(一) Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系 ...

  6. 【搬运工】linux下创建用户(一)

    转载:http://www.cnblogs.com/ylan2009/articles/2321177.html linux下创建用户(一) Linux 系统是一个多用户多任务的分时操作系统,任何一个 ...

  7. linux下创建用户(转)

    转自 http://www.cnblogs.com/ylan2009/articles/2321177.html Note: 1, Linux Shell 按Tab键不能补全 发现使用新增的用户登陆的 ...

  8. linux下创建用户 费元星站长

    linux下创建用户(一) Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系 ...

  9. Linux下创建和删除用户

    在Linux下创建用户和删除用户,必须在root用户下,如果你当前不是用根用户登录,你可以打开终端,输入"su root"命令,再输入根口令,就可以进入root用户模式下,如下所示 ...

随机推荐

  1. 2019.01.17 bzoj2753: [SCOI2012]滑雪与时间胶囊(最小生成树)

    传送门 最小生成树菜题. 题意:给出一些有向边,问有向的最小生成树. 思路:先dfsdfsdfs一把所有有用的边都存起来,然后按终点点权为第一关键字,边权为第二关键字给边排序保证最小生成树的合法性,排 ...

  2. 2019.01.08 bzoj4543: [POI2014]Hotel加强版(长链剖分+dp)

    传送门 代码: 长链剖分好题. 题意:给你一棵树,问树上选三个互不相同的节点,使得这个三个点两两之间距离相等的方案数. 思路: 先考虑dpdpdp. fi,jf_{i,j}fi,j​表示iii子树中离 ...

  3. mysql 在linux下的完整安装过程

    1.下载RPM包 https://cdn.mysql.com//archives/mysql-5.7/mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar 2.先使用命令删 ...

  4. java常用设计模式四:观察者模式

    1.定义 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象.这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己.观察者模式又叫发布-订阅(Publis ...

  5. javascript总结集合

    前言:下面的总结都是自己测试过的,绝大多数都是没问题的,但是不敢保证一定全面,还需要诸君自己独立思考: 1)基础:在nodejs里全局对象是global,而网页里js的全局对象是window:对于所有 ...

  6. python在使用redis时zadd错误

    最近在看<redis实战>,在写zadd时报错 Traceback (most recent call last): File "<stdin>", lin ...

  7. (转)MYSQL远程登录权限设置

    转自:http://blog.csdn.net/zhengnz/article/details/6308773 Mysql默认关闭远程登录权限,如下操作允许用户在任意地点登录: 1. 进入mysql, ...

  8. springboot工程读取配置文件application.yml的写法18045

    现在流行springboot框架的项目,里面的默认配置文件为application.yml,我们怎样读取这个配置文件呢? 先贴上我得配置文件吧 目录结构 里面内容 1 写读取配置文件的工具类 @Con ...

  9. bash多进程

    #!/bin/bashCMD_PATH=`dirname $0`#echo $CMD_PATH > /home/wubin/testjava -jar $CMD_PATH/Server.jar ...

  10. Android webview 退出关闭声音 网页调用javascript

    关闭声音,目前没有好的办法,可以参考网络上的实用webview.reload(); @Override protected void onResume() { // TODO Auto-generat ...