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 目录同级进行操作
Linux 下创建 sftp 用户并限定目录的更多相关文章
- linux下创建mysql用户和数据库,并绑定
Linux下输入命令: mysql -uroot -proot123 进入mysql后输入: 查看目前有哪些数据库存在:mysql> SHOW DATABASES; 创建数据库:create s ...
- Linux下创建新用户
useradd -h查询使用方法 useradd -g sysadmin -d /home/devops -m -c "DevOps Installation User" -s / ...
- Linux下创建ftp用户并锁定根目录
[root@d vsftpd]# vi /etc/vsftpd/chroot_list 加入要锁定根目录的ftp用户名(一行只能一个用户) [root@ vsftpd]# vi /etc/vsftpd ...
- linux下创建用户并且限定用户主目录
Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号 一方面可以帮助系统管理员对使用系统的用户进 ...
- linux下创建用户
linux下创建用户(一) Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系 ...
- 【搬运工】linux下创建用户(一)
转载:http://www.cnblogs.com/ylan2009/articles/2321177.html linux下创建用户(一) Linux 系统是一个多用户多任务的分时操作系统,任何一个 ...
- linux下创建用户(转)
转自 http://www.cnblogs.com/ylan2009/articles/2321177.html Note: 1, Linux Shell 按Tab键不能补全 发现使用新增的用户登陆的 ...
- linux下创建用户 费元星站长
linux下创建用户(一) Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系 ...
- Linux下创建和删除用户
在Linux下创建用户和删除用户,必须在root用户下,如果你当前不是用根用户登录,你可以打开终端,输入"su root"命令,再输入根口令,就可以进入root用户模式下,如下所示 ...
随机推荐
- 高性能Java RPC框架Dubbo与zookeeper的使用
https://blog.csdn.net/qq_38982845/article/details/83795295
- c#内存中创建反射
代码 IWFP_SYS_Bytes mywfpbyte; /**/ byte[] bin=null; using (FileStream fs = new FileStream(filename, F ...
- oracle学习笔记一:用户管理(3)用户口令管理
当某个用户不断的尝试密码进行登录数据库是很危险的,因此对密码(口令)的管理十分重要.好在我们可以限制登录次数,超过某些次数的登录将会把用户锁住,隔一段时间才允许其登录,这和你的手机是不是有点一样,你的 ...
- js判断软键盘是否开启弹出
移动端关于页面布局,如果底部有position:fixed的盒子,又有input,当软键盘弹出收起都会影响页面布局.这时候Android可以监听resize事件,代码如下,而ios没有相关事件. va ...
- 深入理解,函数声明、函数表达式、匿名函数、立即执行函数、window.onload的区别.
一.函数声明.函数表达式.匿名函数1.函数声明:function fnName () {…};使用function关键字声明一个函数,再指定一个函数名,叫函数声明. 2.函数表达式 var fnNam ...
- python读取文件操作.CSV
#-*- encoding:utf-8 -*- import numpy as np import pandas as pd def test(): # header=0,表示文件第0行为列索引 # ...
- RNN与应用案例:注意力模型与机器翻译
1. 注意力模型 1.2 注意力模型概述 注意力模型(attention model)是一种用于做图像描述的模型.在笔记6中讲过RNN去做图像描述,但是精准度可能差强人意.所以在工业界,人们更喜欢用a ...
- 安装mysql后必做的两件事
1..删除掉不需要的用户 查看用户表mysql> SELECT User,Host FROM mysql.user; +------+-------------------------+ | U ...
- cJSON精度丢失问题
问题复现步骤:1) 输入字符串:{ "V":0.12345678}2) 字符串转成cJSON对象3) 调用cJSON_Print将cJSON对象再转成字符串4) 再将字符串转 ...
- Ng第九课:神经网络的学习(Neural Networks: Learning)
9.1 代价函数 9.2 反向传播算法 9.3 反向传播算法的直观理解 9.4 实现注意:展开参数 9.5 梯度检验 9.6 随机初始化 9.7 综合起来 9.8 自主驾驶 9.1 ...