linux的sftp日志在哪看,开启sftp日志并限制sftp访问目录

本文介绍了如何开启SFTP日志记录,并详细阐述了两种限制SFTP用户仅能访问特定目录的方法。首先,通过修改`sshd_config`和`rsyslog.conf`文件开启SFTP日志。接着,通过设置`ChrootDirectory`,确保用户在指定目录下操作,同时创建属主为root的主目录和属主为用户的子目录。最后,提供了具体的命令行操作步骤来实现这两种限制策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# 开启sftp日志并限制sftp访问目录

[TOC]

## 1. 开启sftp日志

### 1.1 修改sshd_config

```

vim /etc/ssh/sshd_config

```

注释掉Subsystem行,然后写入新Subsystem,信息如下

```

Subsystem sftp internal-sftp -l INFO -f local5

LogLevel INFO

```

效果如下:

![enter description here](https://www.github.com/noah-luo/imags/raw/master/year/1542701037996.png)

### 1.2 修改syslogs

```

vim /etc/rsyslog.conf

```

在最后增加如下配置

```

auth,authpriv.*,local5.* /var/log/sftp.log

```

###1.3 重启服务查看日志

```

/etc/init.d/rsyslog restart

/etc/init.d/sshd restart

tailf /var/log/sftp.log

```

## 2 限制sftp用户操作目录

### 2.1 前提说明

如果要让sftp用户只能使用规定的目录,则需要再配置文件中开启**ChrootDirectory**,并限定目录作为sftp用户登录的根目录.

但这里规定的根目录,属主必须是root,文件夹权限只能是755,因此sftp用户对此根目录只有读取权限,需要再在根目录下创建一个属主为改sftp用户的文件夹,用于该用户上传数据

由此规则,可以产生两种sftp方案

### 2.2 home目录做根目录

创建用户时,不指定-M参数,默认会在home目录下生产该用户的家目录,用户对该目录具有完全操作权限,且不能访问其他用户的家目录,因此适合作为sftp目录

- ChrootDirectory写法

- ChrootDirectory /home/

### 2.3 单独创建目录做根目录

单独创建一个目录做根目录,然后再创建下级的操作目录,此方法需要按要求配置主目录及下级目录的权限和属主等信息

- 用户

- 创建用户 加-M参数

- 主目录

- 创建主目录 /data/sftp

- 授权 755

- 属主 root.root

- 下级目录

- 创建下级目录 /data/sftp/test_sftp

- 授权 755

- 属主 test_sftp.test_sftp

- ChrootDirectory写法

- ChrootDirectory /data/sftp/

## 3 实操

### 3.1方法1实操

- 创建用户

```

useradd test_sftp && echo "123456"|passwd --stdin test_sftp

```

- 修改sshd_conf

```

vim /etc/ssh/sshd_config

# 在最后增加以下关键字

Match User test_sftp

ChrootDirectory /home

X11Forwarding no

AllowTcpForwarding no

ForceCommand internal-sftp

```

**重要说明:配置在Match User字段中的用户,会被禁止使用ssh方式登录系统**

- 重启sshd服务

```

/etc/init.d/sshd restart

```

### 3.2 方法2实操

- 创建用户

```

useradd test_sftp && echo "123456"|passwd --stdin test_sftp

```

- 创建主目录并授权

```

mkdir -p /data/sftp/

#chown -R root.root /data/sftp/

#chmod 755 /data/sftp/

```

**说明:注释掉的命令默认不用执行,写出来是为了避免乱做其他授权**

- 创建操作目录并操作

```

mkdir -p /data/sftp/test_sftp

chown -R test_sftp.test_sftp /data/sftp/test_sftp

#chmod 755 /data/sftp/test_sftp

```

**说明:注释掉的命令默认不用执行,写出来是为了避免乱做其他授权**

- 修改sshd_conf

```

vim /etc/ssh/sshd_config

# 在最后增加以下关键字

Match User test_sftp

ChrootDirectory /data/sftp

X11Forwarding no

AllowTcpForwarding no

ForceCommand internal-sftp

```

- 重启sshd服务

```

/etc/init.d/sshd restart

```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值