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. python之并发编程进阶篇9

    一.守护进程和守护线程 1)守护进程的概念 什么是守护进程: 守护: 在主进程代码结束情况下,就立即死掉 守护进程本质就是一个子进程,该子进程守护着主进程 为何要用守护进程 守护进程本质就是一个子进程 ...

  2. 62.Xcode 添加代码块

    1. Xcode创建一个新项目,打开一个.h或者.m文件 2.我举例以设置属性为例 #import <UIKit/UIKit.h> @interface ViewController : ...

  3. 2018.10.30 NOIP模拟 排列树(树形dp+组合数学)

    传送门 考试的时候乱搞过了. 其实题目就是让你求拓扑排序方案数. 直接树形dpdpdp然后组合数转移一下就行了. 乱搞代码

  4. 连接oracle数据库报错:TNS-12516 TNS:listener could not find available handler with matching protocol stack解决方法

    导致此问题的可能原因为:数据库的当前会话说不满足造成的. 解决方法如下: (1)连接数据库: [localhost@oracle]$:sqlplus  /nolog sql>conn  / as ...

  5. math.net 拟合

    参考:http://blog.csdn.net/ztmsimon/article/details/50524392 在论坛中总看到有人在说Math.NET Iridium,查了一下,现在被整合到Mat ...

  6. 学以致用十六-----Centos7.2编译安装mysql5.6.22

    一.系统环境 二.卸载系统自带的mariadb rpm -qa | grep db rpm -e --nodeps mariadb-libs-5.5.60 rpm -e --nodeps mariad ...

  7. java类与继承(转载)

    关于java的类与继承面链接是一个网友总结的,还有列子我个人觉得很详细 固拿来收藏,需要的朋友可从这里访问: http://www.cnblogs.com/dolphin0520/p/3803432. ...

  8. 使用freemarker导出word

    最近需要将jsp部分页面导出为word文件,环境是Spring+SpringMVC+Hibernate. 我使用的是FreeMarker模板引擎来完成.这是FreeMarker的中文参考手册,感兴趣的 ...

  9. restfull和传统http的区别

    摘自 https://bbs.csdn.net/topics/390716580 restfull是一种风格,不是规范,也不是所谓的封装,他只是将http协议用的更彻底了,我们在普通的开发中,虽然说是 ...

  10. 差值的再议-Hermite差值

    1. 插值法 插值法又称“内插法”,是利用函数f (x)在某区间中已知的若干点的函数值,作出适当的特定函数,在区间的其他点上用这特定函数的值作为函数f (x)的近似值,这种方法称为插值法. 如果这特定 ...