目录
- 一、Sftp搭建
- 1 创建用户并设置为sftp组(默认会创建个与用户名相同的组)
- 2 设置用户密码
- 3 创建用户目录,并设置权限。
- 4 修改SSH配置
- 5 修改/etc/selinux/config
- 6 重启sshd服务
- 7 把otheruser加入sftp组,就能有和sftpuser一样的权限,因为是770的权限
- 二、sftp开启日志
- 1、修改ssh配置
- 方式一:全局配置,影响所有的Match及非Match模块的sftp用户
- 方式二:只影响Match User sftp 这个sftp用户
- 2、增加rsyslog配置
- 3、创建log目录
- 4、重启服务
- 5、用SFTP工具连接查看日志
- 三、切分日志
- 1. 创建 logrotate 配置文件
- 2. 配置参数详解(按需调整)
- 3. 最关键的一步:`postrotate`
- 4. 测试配置是否生效
- 补充说明:rsyslog 队列问题
- 四、sftp connect Failed:channel is not opened 解决方案
一、Sftp搭建
linux SFTP创建 不允许用户登录,并且连接只允许在制定的目录下进行操作。
1 创建用户并设置为sftp组(默认会创建个与用户名相同的组)
useradd-g sftp-s/sbin/nologin-Msftpuser (/sbin/nologin为禁止登录shell的用户,-M不创建家目录) useradd-g sftp-s/sbin/nologin-Motheruser (/sbin/nologin为禁止登录shell的用户,-M不创建家目录)# 删除用户userdel-r username2 设置用户密码
passwd sftpuser passwd otheruser3 创建用户目录,并设置权限。
cd/home mkdir sftp chown sftpuser:sftpsftp chmod770sftp4 修改SSH配置
vim/etc/ssh/sshd_config 找到如下这行,用#符号注释掉,大致在文件末尾处。#Subsystem sftp /usr/libexec/openssh/sftp-serverSubsystem sftp internal-sftp X11Forwarding no AllowTcpForwarding no Match User sftp#限制的用户ChrootDirectory/home/sftp#用户的根目录#ForceCommand internal-sftp #这行不要加,要不会覆盖Subsystem sftp internal-sftp中的配置Match User otheruser#限制的用户ChrootDirectory/home/sftp#用户的根目录#ForceCommand internal-sftp #这行不要加,要不会覆盖Subsystem sftp internal-sftp中的配置5 修改/etc/selinux/config
vim/etc/selinux/config#SELINUX=enforcingSELINUX=disabled6 重启sshd服务
systemctl restart sshd